From a17573191f698613c0d648823d7a90bccd02ccc4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8A=9B=E7=9A=93?= Date: Mon, 8 Feb 2021 11:48:42 +0800 Subject: [PATCH] chore: code style fix --- .eslintrc.js | 4 +- .../bem-tools/border-detecting.tsx | 2 +- .../bem-tools/border-resizing.tsx | 2 +- .../designer/src/builtin-simulator/host.less | 6 +- .../designer/src/builtin-simulator/host.ts | 33 +- packages/designer/src/component-meta.ts | 8 +- packages/designer/src/designer/designer.ts | 2 +- .../designer/src/project/project-view.tsx | 4 +- packages/designer/src/project/project.ts | 2 +- packages/designer/src/simulator.ts | 2 +- packages/designer/src/utils/invariant.ts | 2 +- packages/designer/src/utils/tree.ts | 2 +- .../tests/__mocks__/document-model.ts | 2 +- packages/designer/tests/__mocks__/node.ts | 2 +- packages/designer/tests/bugs/misc.ts | 2 +- .../builtin-simulator/host-view.test.tsx | 2 +- .../tests/builtin-simulator/host.test.ts | 51 +- .../tests/builtin-simulator/renderer.test.tsx | 2 +- .../resource-consumer.test.ts | 12 +- .../utils/parse-metadata.test.ts | 2 +- .../builtin-simulator/utils/path.test.ts | 2 +- .../builtin-simulator/utils/throttle.test.ts | 2 +- .../tests/builtin-simulator/viewport.test.ts | 10 +- .../tests/designer/active-tracker.test.ts | 2 +- .../designer/tests/designer/designer.test.ts | 18 +- .../designer/tests/designer/detecting.test.ts | 2 +- .../designer/tests/designer/location.test.ts | 22 +- .../designer/tests/designer/scroller.test.ts | 11 +- .../setting/setting-prop-entry.test.ts | 4 +- .../setting/setting-top-entry.test.ts | 2 +- .../document-model/document-model.test.ts | 2 +- .../document/node/modal-nodes-manager.test.ts | 6 +- .../tests/document/node/node-children.test.ts | 8 +- .../tests/document/node/node.add.test.ts | 90 +- .../tests/document/node/node.dragdrop.test.ts | 4 +- .../tests/document/node/node.modify.test.ts | 52 +- .../tests/document/node/node.remove.test.ts | 2 +- .../designer/tests/document/node/node.test.ts | 10 +- .../tests/document/node/props/prop.test.ts | 16 +- .../tests/document/node/props/props.test.ts | 28 +- .../node/props/value-to-source.test.ts | 6 +- .../designer/tests/document/selection.test.ts | 2 +- .../designer/tests/fixtures/disable-raf.ts | 2 +- .../designer/tests/fixtures/schema/form.ts | 4 +- .../designer/tests/fixtures/schema/setting.ts | 6 +- .../tests/fixtures/unhandled-rejection.ts | 4 +- packages/designer/tests/fixtures/window.ts | 2 +- .../tests/main/meta/component-meta.test.ts | 6 +- .../tests/plugin/plugin-manager.test.ts | 8 +- .../tests/project/project-methods.test.ts | 10 +- packages/designer/tests/utils/bom.ts | 6 +- packages/designer/tests/utils/event.ts | 2 +- packages/designer/tests/utils/index.ts | 2 +- packages/designer/tests/utils/misc.ts | 4 +- packages/designer/tests/utils/renderer.ts | 6 +- .../editor-core/src/widgets/title/title.less | 2 +- .../src/fields/fields.less | 2 +- packages/editor-preset-vision/src/pages.ts | 20 +- .../src/props-reducers/filter-reducer.ts | 2 +- .../props-reducers/live-lifecycle-reducer.ts | 4 +- .../props-reducers/node-top-fixed-reducer.ts | 2 +- .../src/props-reducers/style-reducer.ts | 2 +- packages/editor-preset-vision/src/vision.less | 10 +- .../tests/fixtures/window.ts | 2 +- .../tests/master/drag-engine.test.ts | 10 +- .../tests/vision-api/api-export.test.ts | 2 +- .../tests/vision-api/project.test.ts | 1 - .../src/components/array-setter/index.tsx | 4 +- .../src/components/array-setter/style.less | 2 +- .../src/components/field/index.less | 4 +- .../src/components/mixed-setter/style.less | 6 +- .../src/components/settings/style.less | 4 +- .../src/components/stage-box/stage-box.tsx | 2 - packages/engine/src/modules/editor-types.ts | 2 +- packages/engine/src/modules/skeleton-types.ts | 2 +- .../plugin-outline-pane/src/views/style.less | 4 +- packages/rax-renderer/src/index.ts | 6 +- packages/rax-renderer/src/renderer/block.tsx | 4 +- .../rax-renderer/src/renderer/component.tsx | 4 +- packages/rax-renderer/src/renderer/page.tsx | 6 +- .../src/rax-use-router.js | 28 +- .../src/renderer-view.tsx | 9 +- .../rax-simulator-renderer/src/renderer.less | 12 +- .../rax-simulator-renderer/src/renderer.ts | 16 +- packages/react-renderer/jest.config.js | 2 +- packages/react-renderer/src/index.ts | 6 +- .../tests/fixtures/schema/basic.ts | 928 +++++++++--------- .../src/renderer-view.tsx | 10 +- .../src/renderer.less | 2 +- .../react-simulator-renderer/src/renderer.ts | 16 +- packages/renderer-core/src/adapter/index.ts | 4 + .../src/components/VisualDom/index.tsx | 4 +- packages/renderer-core/src/hoc/index.tsx | 6 +- packages/renderer-core/src/renderer/addon.tsx | 1 + packages/renderer-core/src/renderer/base.tsx | 27 +- packages/renderer-core/src/renderer/block.tsx | 3 +- .../renderer-core/src/renderer/component.tsx | 1 + packages/renderer-core/src/renderer/page.tsx | 1 + .../renderer-core/src/renderer/renderer.tsx | 2 +- packages/renderer-core/src/renderer/temp.tsx | 1 + packages/renderer-core/src/utils/common.ts | 2 +- .../renderer-core/src/utils/dataHelper.ts | 8 +- packages/utils/src/cursor.less | 4 +- packages/utils/src/index.ts | 2 +- packages/utils/src/is-object.ts | 2 +- .../vision-polyfill/src/fields/fields.less | 2 +- packages/vision-polyfill/src/pages.ts | 20 +- .../src/props-reducers/filter-reducer.ts | 2 +- .../props-reducers/live-lifecycle-reducer.ts | 4 +- .../props-reducers/node-top-fixed-reducer.ts | 2 +- .../src/props-reducers/style-reducer.ts | 2 +- packages/vision-polyfill/src/utils/index.ts | 2 +- packages/vision-polyfill/src/vision.less | 10 +- .../vision-polyfill/tests/fixtures/window.ts | 2 +- .../tests/master/drag-engine.test.ts | 10 +- .../tests/vision-api/api-export.test.ts | 2 +- .../tests/vision-api/project.test.ts | 1 - 117 files changed, 884 insertions(+), 888 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index f48e1a4de..4dd6c2db3 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,6 +1,6 @@ module.exports = { extends: 'eslint-config-ali/typescript/react', - ignorePatterns: [ 'tests/* '], + ignorePatterns: [ 'tests/** '], rules: { 'react/no-multi-comp': 0, 'no-unused-expressions': 0, @@ -24,5 +24,7 @@ module.exports = { 'no-useless-escape': 1, 'brace-style': 1, '@typescript-eslint/no-inferrable-types': 0, + 'no-proto': 0, + 'prefer-const': 0, } }; diff --git a/packages/designer/src/builtin-simulator/bem-tools/border-detecting.tsx b/packages/designer/src/builtin-simulator/bem-tools/border-detecting.tsx index abc1c9cc5..f3da9396f 100644 --- a/packages/designer/src/builtin-simulator/bem-tools/border-detecting.tsx +++ b/packages/designer/src/builtin-simulator/bem-tools/border-detecting.tsx @@ -73,7 +73,7 @@ export class BorderDetecting extends Component<{ host: BuiltinSimulatorHost }> { render() { const { host } = this.props; const { current } = this; - + const canHoverHook = current?.componentMeta.getMetadata()?.experimental?.callbacks?.onHoverHook; const canHover = (canHoverHook && typeof canHoverHook === 'function') ? canHoverHook(current) : true; diff --git a/packages/designer/src/builtin-simulator/bem-tools/border-resizing.tsx b/packages/designer/src/builtin-simulator/bem-tools/border-resizing.tsx index 4a6b98d8f..76c3ac7b7 100644 --- a/packages/designer/src/builtin-simulator/bem-tools/border-resizing.tsx +++ b/packages/designer/src/builtin-simulator/bem-tools/border-resizing.tsx @@ -224,7 +224,7 @@ export class BoxResizingInstance extends Component<{ } const unBind: any[] = []; - const node = this.props.observed.node; + const { node } = this.props.observed; unBind.push( ...[ diff --git a/packages/designer/src/builtin-simulator/host.less b/packages/designer/src/builtin-simulator/host.less index f763c732f..3b110e3db 100644 --- a/packages/designer/src/builtin-simulator/host.less +++ b/packages/designer/src/builtin-simulator/host.less @@ -39,12 +39,12 @@ background: url(https://img.alicdn.com/tfs/TB1b4DHilFR4u4jSZFPXXanzFXa-750-1574.png) no-repeat top; background-size: 378px 812px; border-radius: 44px; - box-shadow: rgba(0, 0, 0, 0.1) 0px 36px 42px; + box-shadow: rgba(0, 0, 0, 0.1) 0 36px 42px; .@{scope}-canvas-viewport { width: auto; top: 50px; - left: 0px; - right: 0px; + left: 0; + right: 0; margin-top: 40px; max-height: 688px; } diff --git a/packages/designer/src/builtin-simulator/host.ts b/packages/designer/src/builtin-simulator/host.ts index 9962a12ae..d767d0f70 100644 --- a/packages/designer/src/builtin-simulator/host.ts +++ b/packages/designer/src/builtin-simulator/host.ts @@ -252,7 +252,6 @@ export class BuiltinSimulatorHost implements ISimulatorHost { if (!detecting.enable || this.designMode !== 'design') { return; @@ -682,14 +681,14 @@ export class BuiltinSimulatorHost implements ISimulatorHost { - return this.getClosestNodeInstance(instance, context.nodeId)?.instance === context.instance + return this.getClosestNodeInstance(instance, context.nodeId)?.instance === context.instance; }); } @@ -1030,7 +1029,7 @@ export class BuiltinSimulatorHost implements ISimulatorHost, e: LocateEvent) { - const children = container.children; + const { children } = container; const document = this.project.currentDocument!; if (!children || children.isEmpty()) { return null; } - let nearDistance: any = null; - let nearBy: any = null; + const nearDistance: any = null; + const nearBy: any = null; for (let i = 0, l = children.size; i < l; i++) { let child = children.get(i); @@ -1347,7 +1346,7 @@ export class BuiltinSimulatorHost implements ISimulatorHost { render() { const { designer } = this.props; - const project = designer.project; - const simulatorProps = project.simulatorProps; + const { project } = designer; + const { simulatorProps } = project; const Simulator = designer.simulatorComponent || BuiltinSimulatorHostView; return ( diff --git a/packages/designer/src/project/project.ts b/packages/designer/src/project/project.ts index 73ac686d2..593498375 100644 --- a/packages/designer/src/project/project.ts +++ b/packages/designer/src/project/project.ts @@ -252,7 +252,7 @@ export class Project { * 提供给模拟器的参数 */ @computed get simulatorProps(): object { - let simulatorProps = this.designer.simulatorProps; + let { simulatorProps } = this.designer; if (typeof simulatorProps === 'function') { simulatorProps = simulatorProps(this); } diff --git a/packages/designer/src/simulator.ts b/packages/designer/src/simulator.ts index de95ae382..26e8a7cd9 100644 --- a/packages/designer/src/simulator.ts +++ b/packages/designer/src/simulator.ts @@ -149,7 +149,7 @@ export interface ISimulatorHost

extends ISensor { findDOMNodes(instance: ComponentInstance, selector?: string): Array | null; getDropContainer(e: LocateEvent): DropContainer | null; - + /** * 销毁 */ diff --git a/packages/designer/src/utils/invariant.ts b/packages/designer/src/utils/invariant.ts index d5afc5276..e59a0342e 100644 --- a/packages/designer/src/utils/invariant.ts +++ b/packages/designer/src/utils/invariant.ts @@ -1,5 +1,5 @@ export function invariant(check: any, message: string, thing?: any) { if (!check) { - throw new Error('[designer] Invariant failed: ' + message + (thing ? ` in '${thing}'` : '')); + throw new Error(`[designer] Invariant failed: ${ message }${thing ? ` in '${thing}'` : ''}`); } } diff --git a/packages/designer/src/utils/tree.ts b/packages/designer/src/utils/tree.ts index 3f41f8c4c..7e4d66eea 100644 --- a/packages/designer/src/utils/tree.ts +++ b/packages/designer/src/utils/tree.ts @@ -11,4 +11,4 @@ export function foreachReverse( for (let i = arr.length - 1; i >= 0; i--) { action.call(context, getter(arr, i)); } -} \ No newline at end of file +} diff --git a/packages/designer/tests/__mocks__/document-model.ts b/packages/designer/tests/__mocks__/document-model.ts index 982bb4c1b..c5f4fef8b 100644 --- a/packages/designer/tests/__mocks__/document-model.ts +++ b/packages/designer/tests/__mocks__/document-model.ts @@ -7,4 +7,4 @@ export class DocumentModel { const c: number = 2; this.a = b?.x?.y; } -} \ No newline at end of file +} diff --git a/packages/designer/tests/__mocks__/node.ts b/packages/designer/tests/__mocks__/node.ts index 4f225766b..109467ead 100644 --- a/packages/designer/tests/__mocks__/node.ts +++ b/packages/designer/tests/__mocks__/node.ts @@ -6,4 +6,4 @@ export class Node2 { const c: number = 2; this.a = b?.x?.y; } -} \ No newline at end of file +} diff --git a/packages/designer/tests/bugs/misc.ts b/packages/designer/tests/bugs/misc.ts index e101d868f..a2490aa4b 100644 --- a/packages/designer/tests/bugs/misc.ts +++ b/packages/designer/tests/bugs/misc.ts @@ -52,4 +52,4 @@ it.todo('在同一个节点下,相同名称的 slot 只能有一个', () => { const exportSchema = currentDocument?.export(1); expect(getIdsFromSchema(exportSchema).length).toBe(expectedNodeCnt); expect(mockCreateSettingEntry).toBeCalledTimes(expectedNodeCnt); -}); \ No newline at end of file +}); diff --git a/packages/designer/tests/builtin-simulator/host-view.test.tsx b/packages/designer/tests/builtin-simulator/host-view.test.tsx index af26e5ab9..6bf946a19 100644 --- a/packages/designer/tests/builtin-simulator/host-view.test.tsx +++ b/packages/designer/tests/builtin-simulator/host-view.test.tsx @@ -28,5 +28,5 @@ describe('host-view 测试', () => { it('host-view', () => { const hostView = render(); - }) + }); }); diff --git a/packages/designer/tests/builtin-simulator/host.test.ts b/packages/designer/tests/builtin-simulator/host.test.ts index 4c4e2672a..9b4121267 100644 --- a/packages/designer/tests/builtin-simulator/host.test.ts +++ b/packages/designer/tests/builtin-simulator/host.test.ts @@ -200,22 +200,21 @@ describe('Host 测试', () => { it('fixEvent', () => { expect(host.fixEvent({ fixed: true, clientX: 1 })).toEqual({ fixed: true, clientX: 1 }); - }); it('findDOMNodes', () => { host.connect({ findDOMNodes: () => { return null; - } + }, }, () => {}); expect(host.findDOMNodes()).toBeNull(); - const mockElems = [document.createElement('div')] + const mockElems = [document.createElement('div')]; host.connect({ findDOMNodes: () => { return mockElems; - } + }, }, () => {}); expect(host.findDOMNodes({})).toBe(mockElems); expect(host.findDOMNodes({}, 'xxx')).toBeNull(); @@ -231,7 +230,7 @@ describe('Host 测试', () => { }; }); host.connect({ - getClosestNodeInstance: mockFn + getClosestNodeInstance: mockFn, }, () => {}); expect(host.getClosestNodeInstance()).toEqual({ node: {}, @@ -244,14 +243,14 @@ describe('Host 测试', () => { expect(host.getNodeInstanceFromElement()).toBeNull(); host.getClosestNodeInstance = () => { return null; - } + }; expect(host.getNodeInstanceFromElement({})).toBeNull(); host.getClosestNodeInstance = () => { return { docId: project.currentDocument.id, - nodeId: 'xxx' + nodeId: 'xxx', }; - } + }; expect(host.getNodeInstanceFromElement({})).toBeTruthy(); }); @@ -259,28 +258,28 @@ describe('Host 测试', () => { host.getNodeInstanceFromElement = () => { return { node: doc.rootNode, - } - } + }; + }; host.getDropContainer({ target: {}, dragObject: { type: DragObjectType.Node, nodes: [doc.getNode('page')], - } - }) + }, + }); }); it('getComponentInstances', () => { const mockNode = { - document: { id: 'docId' } + document: { id: 'docId' }, }; host.instancesMap = { - 'docId': { + docId: { get() { return [{ comp: true }, { comp2: true }]; - } - } - } + }, + }, + }; expect(host.getComponentInstances(mockNode)) .toEqual([{ comp: true }, { comp2: true }]); @@ -288,8 +287,8 @@ describe('Host 测试', () => { host.getClosestNodeInstance = () => { return { instance: mockInst, - } - } + }; + }; expect(host.getComponentInstances(mockNode, { instance: mockInst })) .toEqual([{ comp: true }, { comp2: true }]); }); @@ -319,13 +318,13 @@ describe('Host 测试', () => { expect(host.sensorAvailable).toBeTruthy(); host.deactiveSensor(); expect(host.sensing).toBeFalsy(); - }) + }); it('getComponent', () => { host.connect({ getComponent: () => { return {}; - } + }, }, () => {}); expect(host.getComponent()).toEqual({}); expect(host.createComponent()).toBeNull(); @@ -335,10 +334,10 @@ describe('Host 测试', () => { it('setInstance', () => { host.instancesMap = {}; host.setInstance('docId1', 'id1', [{}]); - expect(host.instancesMap['docId1'].get('id1')).toEqual([{}]); + expect(host.instancesMap.docId1.get('id1')).toEqual([{}]); host.setInstance('docId1', 'id1', null); - expect(host.instancesMap['docId1'].get('id1')).toBeUndefined(); + expect(host.instancesMap.docId1.get('id1')).toBeUndefined(); }); }); @@ -379,7 +378,7 @@ describe('Host 测试', () => { type: DragObjectType.Node, nodes: [doc.getNode('page')], }, - }) + }); }); }); @@ -409,9 +408,9 @@ describe('Host 测试', () => { host.setupContextMenu(); host.getNodeInstanceFromElement = () => { return { - node: { componentMeta: { componentName: 'Button' }}, + node: { componentMeta: { componentName: 'Button' } }, }; - } + }; const mockFn = jest.fn(); host.designer.editor.on('designer.builtinSimulator.contextmenu', mockFn); fireEvent.contextMenu(document, {}); diff --git a/packages/designer/tests/builtin-simulator/renderer.test.tsx b/packages/designer/tests/builtin-simulator/renderer.test.tsx index 63f807b7d..0ce351e3c 100644 --- a/packages/designer/tests/builtin-simulator/renderer.test.tsx +++ b/packages/designer/tests/builtin-simulator/renderer.test.tsx @@ -17,5 +17,5 @@ import { isSimulatorRenderer } from '../../src/builtin-simulator/renderer'; describe('renderer 测试', () => { it('renderer', () => { expect(isSimulatorRenderer(getMockRenderer())).toBeTruthy(); - }) + }); }); diff --git a/packages/designer/tests/builtin-simulator/resource-consumer.test.ts b/packages/designer/tests/builtin-simulator/resource-consumer.test.ts index 5243112e1..c310c39d2 100644 --- a/packages/designer/tests/builtin-simulator/resource-consumer.test.ts +++ b/packages/designer/tests/builtin-simulator/resource-consumer.test.ts @@ -2,7 +2,7 @@ import ResourceConsumer from '../../src/builtin-simulator/resource-consumer'; import { delayObxTick, delay } from '../utils'; it('ResourceConsumer 测试,先消费再监听', async () => { - const con = new ResourceConsumer(() => ({ a: 1, b: 2})); + const con = new ResourceConsumer(() => ({ a: 1, b: 2 })); const mockFn = jest.fn(); con.consume((data) => { @@ -21,9 +21,9 @@ it('ResourceConsumer 测试,先消费再监听', async () => { it('ResourceConsumer 测试,先消费再监听,isSimulatorRenderer', async () => { const mockFn = jest.fn(); - const con = new ResourceConsumer(() => ({ a: 1, b: 2}), () => { + const con = new ResourceConsumer(() => ({ a: 1, b: 2 }), () => { const o = { a: 3, b: 4 }; - mockFn(o) + mockFn(o); return o; }); @@ -39,13 +39,13 @@ it('ResourceConsumer 测试,先消费再监听,isSimulatorRenderer', async ( it('ResourceConsumer 测试,先消费再监听,isSimulatorRenderer,没有 consume', async () => { const mockFn = jest.fn(); - const con = new ResourceConsumer(() => ({ a: 1, b: 2})); + const con = new ResourceConsumer(() => ({ a: 1, b: 2 })); con.consume({ isSimulatorRenderer: true }); }); it('ResourceConsumer 测试,先监听再消费', async () => { - const con = new ResourceConsumer(() => ({ a: 1, b: 2})); + const con = new ResourceConsumer(() => ({ a: 1, b: 2 })); con.waitFirstConsume(); @@ -57,4 +57,4 @@ it('ResourceConsumer 测试,先监听再消费', async () => { await delay(1000); expect(mockFn).toHaveBeenCalledWith({ a: 1, b: 2 }); -}); \ No newline at end of file +}); diff --git a/packages/designer/tests/builtin-simulator/utils/parse-metadata.test.ts b/packages/designer/tests/builtin-simulator/utils/parse-metadata.test.ts index e0c67255c..f2f399c96 100644 --- a/packages/designer/tests/builtin-simulator/utils/parse-metadata.test.ts +++ b/packages/designer/tests/builtin-simulator/utils/parse-metadata.test.ts @@ -6,4 +6,4 @@ describe('parseMetadata', () => { const md1 = parseMetadata('Div'); const md2 = parseMetadata({ componentName: 'Div' }); }); -}); \ No newline at end of file +}); diff --git a/packages/designer/tests/builtin-simulator/utils/path.test.ts b/packages/designer/tests/builtin-simulator/utils/path.test.ts index be9ee6013..17d63f344 100644 --- a/packages/designer/tests/builtin-simulator/utils/path.test.ts +++ b/packages/designer/tests/builtin-simulator/utils/path.test.ts @@ -75,4 +75,4 @@ describe('builtin-simulator/utils/path 测试', () => { expect(removeVersion('@ali/fe@1.0.0/index')).toBe('@ali/fe/index'); expect(removeVersion('haha')).toBe('haha'); }); -}); \ No newline at end of file +}); diff --git a/packages/designer/tests/builtin-simulator/utils/throttle.test.ts b/packages/designer/tests/builtin-simulator/utils/throttle.test.ts index ffbf6c886..1a2300e43 100644 --- a/packages/designer/tests/builtin-simulator/utils/throttle.test.ts +++ b/packages/designer/tests/builtin-simulator/utils/throttle.test.ts @@ -19,4 +19,4 @@ describe('throttle', () => { fn(); expect(cb).toBeCalledTimes(1); }); -}); \ No newline at end of file +}); diff --git a/packages/designer/tests/builtin-simulator/viewport.test.ts b/packages/designer/tests/builtin-simulator/viewport.test.ts index ce3534353..d6ff9b129 100644 --- a/packages/designer/tests/builtin-simulator/viewport.test.ts +++ b/packages/designer/tests/builtin-simulator/viewport.test.ts @@ -1,12 +1,12 @@ import '../fixtures/window'; -import { getMockWindow, set } from '../utils'; +import { getMockWindow, set, getMockElement, delay } from '../utils'; import { Editor, globalContext } from '@ali/lowcode-editor-core'; import { Project } from '../../src/project/project'; import { DocumentModel } from '../../src/document/document-model'; import Viewport from '../../src/builtin-simulator/viewport'; import { Designer } from '../../src/designer/designer'; import { fireEvent } from '@testing-library/react'; -import { getMockElement, delay } from '../utils'; + describe('Viewport 测试', () => { let editor: Editor; @@ -24,7 +24,7 @@ describe('Viewport 测试', () => { constructor(top, left, width, height) { return { top, left, width, height }; } - } + }; }); beforeEach(() => { @@ -117,8 +117,8 @@ describe('Viewport 测试', () => { viewportElem.setHeight(300); expect(viewport.contentHeight).toBe(300 / 2); - expect(() => viewport.scale = NaN).toThrow(); - expect(() => viewport.scale = -1).toThrow(); + expect(() => { viewport.scale = NaN; }).toThrow(); + expect(() => { viewport.scale = -1; }).toThrow(); }); it('setScrollTarget / scrollTarget / scrolling', async () => { diff --git a/packages/designer/tests/designer/active-tracker.test.ts b/packages/designer/tests/designer/active-tracker.test.ts index 1b73ecda5..860a03d08 100644 --- a/packages/designer/tests/designer/active-tracker.test.ts +++ b/packages/designer/tests/designer/active-tracker.test.ts @@ -37,4 +37,4 @@ it('ActiveTracker 测试,ActiveTarget', () => { mockFn.mockClear(); tracker.track(mockNode); expect(mockFn).not.toHaveBeenCalled(); -}); \ No newline at end of file +}); diff --git a/packages/designer/tests/designer/designer.test.ts b/packages/designer/tests/designer/designer.test.ts index 0dbad8a83..e67b3e196 100644 --- a/packages/designer/tests/designer/designer.test.ts +++ b/packages/designer/tests/designer/designer.test.ts @@ -58,7 +58,7 @@ describe('Designer 测试', () => { editor.on('designer.dragstart', dragStartMockFn2); editor.on('designer.drag', dragMockFn2); editor.on('designer.dragend', dragEndMockFn2); - const dragon = designer.dragon; + const { dragon } = designer; dragon.boost( { @@ -124,7 +124,7 @@ describe('Designer 测试', () => { editor.on('designer.dragstart', dragStartMockFn2); editor.on('designer.drag', dragMockFn2); editor.on('designer.dragend', dragEndMockFn2); - const dragon = designer.dragon; + const { dragon } = designer; dragon.boost( { @@ -183,37 +183,37 @@ describe('Designer 测试', () => { expect(designer.transformProps([{ num: 1 }], TransformStage.Init)).toEqual([{ num: 1 }]); designer.addPropsReducer((props, node) => { - props.num = props.num + 1; + props.num += 1; return props; }, TransformStage.Init); designer.addPropsReducer((props, node) => { - props.num = props.num + 1; + props.num += 1; return props; }, TransformStage.Init); designer.addPropsReducer((props, node) => { - props.num = props.num + 1; + props.num += 1; return props; }, TransformStage.Clone); designer.addPropsReducer((props, node) => { - props.num = props.num + 1; + props.num += 1; return props; }, TransformStage.Serilize); designer.addPropsReducer((props, node) => { - props.num = props.num + 1; + props.num += 1; return props; }, TransformStage.Render); designer.addPropsReducer((props, node) => { - props.num = props.num + 1; + props.num += 1; return props; }, TransformStage.Save); designer.addPropsReducer((props, node) => { - props.num = props.num + 1; + props.num += 1; return props; }, TransformStage.Upgrade); diff --git a/packages/designer/tests/designer/detecting.test.ts b/packages/designer/tests/designer/detecting.test.ts index 0e96e5bca..e67e3b807 100644 --- a/packages/designer/tests/designer/detecting.test.ts +++ b/packages/designer/tests/designer/detecting.test.ts @@ -19,4 +19,4 @@ it('Detecting 测试', () => { detecting.capture(mockNode); detecting.enable = false; expect(detecting.current).toBeNull(); -}); \ No newline at end of file +}); diff --git a/packages/designer/tests/designer/location.test.ts b/packages/designer/tests/designer/location.test.ts index cf748a7c8..746d10187 100644 --- a/packages/designer/tests/designer/location.test.ts +++ b/packages/designer/tests/designer/location.test.ts @@ -129,15 +129,15 @@ it('isRowContainer', () => { return { getPropertyValue: (pName) => { return pName === 'display' ? 'flex' : 'row'; - } - } + }, + }; }) .mockImplementationOnce(() => { return { getPropertyValue: (pName) => { return pName === 'display' ? 'flex' : 'column'; - } - } + }, + }; }); expect(isRowContainer(getMockElement('div'))).toBeFalsy(); expect(isRowContainer(getMockElement('div'))).toBeTruthy(); @@ -149,8 +149,8 @@ it('isChildInline', () => { return { getPropertyValue: (pName) => { return pName === 'display' ? 'inline' : 'float'; - } - } + }, + }; }); expect(isChildInline({ nodeType: Node.TEXT_NODE })).toBeTruthy(); @@ -169,11 +169,11 @@ it('isVerticalContainer', () => { return { getPropertyValue: (pName) => { return pName === 'display' ? 'flex' : 'row'; - } - } + }, + }; }); expect(isVerticalContainer()).toBeFalsy(); - expect(isVerticalContainer({ elements: [getMockElement('div')] })).toBeTruthy() + expect(isVerticalContainer({ elements: [getMockElement('div')] })).toBeTruthy(); }); it('isVertical', () => { @@ -184,8 +184,8 @@ it('isVertical', () => { return { getPropertyValue: (pName) => { return pName === 'display' ? 'inline' : 'float'; - } - } + }, + }; }); expect(isVertical({ elements: [getMockElement('div')] })).toBeTruthy(); }); diff --git a/packages/designer/tests/designer/scroller.test.ts b/packages/designer/tests/designer/scroller.test.ts index c6dcb6bb1..53ee4e451 100644 --- a/packages/designer/tests/designer/scroller.test.ts +++ b/packages/designer/tests/designer/scroller.test.ts @@ -78,7 +78,7 @@ describe('Scroller 测试', () => { scrollWidth: 500, document: {}, nodeType: Node.ELEMENT_NODE, - } + }; return mockWindow; } @@ -96,7 +96,6 @@ describe('Scroller 测试', () => { expect(target.left).toBe(100); expect(target.top).toBe(100); }); - }); function mockRAF() { @@ -119,7 +118,7 @@ describe('Scroller 测试', () => { mockRAF(); scroller.scrolling({ globalX: 100, globalY: 100 }); - }) + }); it('scrollTarget: ScrollTarget, same left / top', () => { const win = getMockWindow(); @@ -131,7 +130,7 @@ describe('Scroller 测试', () => { mockRAF(); scroller.scrolling({ globalX: 100, globalY: 100 }); - }) + }); it('scrollTarget: Element', () => { const win = getMockWindow(); @@ -142,7 +141,7 @@ describe('Scroller 测试', () => { mockRAF(); scroller.scrolling({ globalX: 100, globalY: 100 }); - }) + }); it('scrollTarget: null', () => { const win = getMockWindow(); @@ -153,6 +152,6 @@ describe('Scroller 测试', () => { mockRAF(); scroller.scrolling({ globalX: 100, globalY: 100 }); - }) + }); }); }); diff --git a/packages/designer/tests/designer/setting/setting-prop-entry.test.ts b/packages/designer/tests/designer/setting/setting-prop-entry.test.ts index e8b172688..655dea54c 100644 --- a/packages/designer/tests/designer/setting/setting-prop-entry.test.ts +++ b/packages/designer/tests/designer/setting/setting-prop-entry.test.ts @@ -98,7 +98,7 @@ describe('setting-prop-entry 测试', () => { expect(customClassNameProp.getValue()).toEqual({ type: 'JSExpression', - value: 'getFromSomewhere()' + value: 'getFromSomewhere()', }); expect(customClassNameProp.getMockOrValue()).toBeUndefined(); expect(customClassNameProp.getVariableValue()).toBe('getFromSomewhere()'); @@ -111,4 +111,4 @@ describe('setting-prop-entry 测试', () => { }); }); }); -}); \ No newline at end of file +}); diff --git a/packages/designer/tests/designer/setting/setting-top-entry.test.ts b/packages/designer/tests/designer/setting/setting-top-entry.test.ts index f76501782..94fdbab90 100644 --- a/packages/designer/tests/designer/setting/setting-top-entry.test.ts +++ b/packages/designer/tests/designer/setting/setting-top-entry.test.ts @@ -171,4 +171,4 @@ describe('setting-top-entry 测试', () => { // 思考:假如以后面向其他场景,比如用户用 API 强行调用,是否需要做健壮性保护? }); }); -}); \ No newline at end of file +}); diff --git a/packages/designer/tests/document/document-model/document-model.test.ts b/packages/designer/tests/document/document-model/document-model.test.ts index 5c1d82eb4..7343a3a49 100644 --- a/packages/designer/tests/document/document-model/document-model.test.ts +++ b/packages/designer/tests/document/document-model/document-model.test.ts @@ -171,7 +171,7 @@ describe('document-model 测试', () => { designer.createComponentMeta(divMeta); designer.createComponentMeta(otherMeta); const doc = new DocumentModel(project, formSchema); - const ret = doc.acceptRootNodeVisitor('getPageId', function(root) { + const ret = doc.acceptRootNodeVisitor('getPageId', (root) => { return 'page'; }); expect(ret).toBe('page'); diff --git a/packages/designer/tests/document/node/modal-nodes-manager.test.ts b/packages/designer/tests/document/node/modal-nodes-manager.test.ts index df4869a78..209e536a7 100644 --- a/packages/designer/tests/document/node/modal-nodes-manager.test.ts +++ b/packages/designer/tests/document/node/modal-nodes-manager.test.ts @@ -1,5 +1,5 @@ import '../../fixtures/window'; -import { set } from '../../utils'; +import { set, delayObxTick, delay } from '../../utils'; import { Editor } from '@ali/lowcode-editor-core'; import { Project } from '../../../src/project/project'; import { DocumentModel } from '../../../src/document/document-model'; @@ -24,7 +24,7 @@ import pageMetadata from '../../fixtures/component-metadata/page'; import rootHeaderMetadata from '../../fixtures/component-metadata/root-header'; import rootContentMetadata from '../../fixtures/component-metadata/root-content'; import rootFooterMetadata from '../../fixtures/component-metadata/root-footer'; -import { delayObxTick, delay } from '../../utils'; + describe('ModalNodesManager 方法测试', () => { let editor: Editor; @@ -81,7 +81,7 @@ describe('ModalNodesManager 方法测试', () => { const off = mgr.onModalNodesChange(nodesMockFn); const offVisible = mgr.onVisibleChange(visibleMockFn); - const newNode = new Node(doc, { componentName: 'Dialog' }) + const newNode = new Node(doc, { componentName: 'Dialog' }); mgr.addNode(newNode); expect(visibleMockFn).toHaveBeenCalledTimes(2); expect(nodesMockFn).toHaveBeenCalledTimes(1); diff --git a/packages/designer/tests/document/node/node-children.test.ts b/packages/designer/tests/document/node/node-children.test.ts index 1f368855e..30fe1a1ee 100644 --- a/packages/designer/tests/document/node/node-children.test.ts +++ b/packages/designer/tests/document/node/node-children.test.ts @@ -1,5 +1,5 @@ import '../../fixtures/window'; -import { set } from '../../utils'; +import { set, delayObxTick, delay } from '../../utils'; import { Editor } from '@ali/lowcode-editor-core'; import { Project } from '../../../src/project/project'; import { DocumentModel } from '../../../src/document/document-model'; @@ -23,7 +23,7 @@ import pageMetadata from '../../fixtures/component-metadata/page'; import rootHeaderMetadata from '../../fixtures/component-metadata/root-header'; import rootContentMetadata from '../../fixtures/component-metadata/root-content'; import rootFooterMetadata from '../../fixtures/component-metadata/root-footer'; -import { delayObxTick, delay } from '../../utils'; + describe('NodeChildren 方法测试', () => { let editor: Editor; @@ -105,7 +105,7 @@ describe('NodeChildren 方法测试', () => { const { children } = firstBtn.parent!; children.some((item) => { - expect(item.componentName).toBe('Button'); + return expect(item.componentName).toBe('Button'); }); }); @@ -114,7 +114,7 @@ describe('NodeChildren 方法测试', () => { const { children } = firstBtn.parent!; children.every((item) => { - expect(item.componentName).toBe('Button'); + return expect(item.componentName).toBe('Button'); }); }); diff --git a/packages/designer/tests/document/node/node.add.test.ts b/packages/designer/tests/document/node/node.add.test.ts index 0c3539716..200fe524f 100644 --- a/packages/designer/tests/document/node/node.add.test.ts +++ b/packages/designer/tests/document/node/node.add.test.ts @@ -167,7 +167,7 @@ describe('schema 生成节点模型测试', () => { componentName: 'TextInput', props: { propA: 'haha', - } + }, }); currentDocument?.insertNode(pageNode, node); @@ -198,25 +198,25 @@ describe('schema 生成节点模型测试', () => { componentName: 'TextInput', props: { propA: 'haha', - } + }, }); const node2 = currentDocument.createNode({ componentName: 'TextInput', props: { propA: 'heihei', - } + }, }); const node3 = currentDocument.createNode({ componentName: 'TextInput', props: { propA: 'heihei2', - } + }, }); const node4 = currentDocument.createNode({ componentName: 'TextInput', props: { propA: 'heihei3', - } + }, }); formNode?.insertBefore(node2); @@ -265,8 +265,8 @@ describe('schema 生成节点模型测试', () => { id: 'nodeschema-id1', props: { propA: 'haha', - propB: 3 - } + propB: 3, + }, }); expect(nodesMap.size).toBe(ids.length + 1); expect(formNode.children?.length).toBe(4); @@ -274,7 +274,7 @@ describe('schema 生成节点模型测试', () => { expect(insertedNode.componentName).toBe('TextInput'); expect(insertedNode.propsData).toEqual({ propA: 'haha', - propB: 3 + propB: 3, }); // TODO: 把 checkId 的 commit pick 过来 // expect(nodesMap.get('nodeschema-id1').componentName).toBe('TextInput'); @@ -284,15 +284,15 @@ describe('schema 生成节点模型测试', () => { expect(project).toBeTruthy(); const ids = getIdsFromSchema(formSchema); const { currentDocument } = project; - const nodesMap = currentDocument.nodesMap; + const { nodesMap } = currentDocument; const formNode = nodesMap.get('form'); currentDocument?.insertNode(formNode, { componentName: 'TextInput', id: 'nodeschema-id1', props: { propA: 'haha', - propB: 3 - } + propB: 3, + }, }, 0); expect(nodesMap.size).toBe(ids.length + 1); expect(formNode.children.length).toBe(4); @@ -300,7 +300,7 @@ describe('schema 生成节点模型测试', () => { expect(insertedNode.componentName).toBe('TextInput'); expect(insertedNode.propsData).toEqual({ propA: 'haha', - propB: 3 + propB: 3, }); // TODO: 把 checkId 的 commit pick 过来 // expect(nodesMap.get('nodeschema-id1').componentName).toBe('TextInput'); @@ -317,8 +317,8 @@ describe('schema 生成节点模型测试', () => { id: 'nodeschema-id1', props: { propA: 'haha', - propB: 3 - } + propB: 3, + }, }, 1); expect(nodesMap.size).toBe(ids.length + 1); expect(formNode.children.length).toBe(4); @@ -326,7 +326,7 @@ describe('schema 生成节点模型测试', () => { expect(insertedNode.componentName).toBe('TextInput'); expect(insertedNode.propsData).toEqual({ propA: 'haha', - propB: 3 + propB: 3, }); // TODO: 把 checkId 的 commit pick 过来 // expect(nodesMap.get('nodeschema-id1').componentName).toBe('TextInput'); @@ -342,24 +342,24 @@ describe('schema 生成节点模型测试', () => { componentName: 'ParentNode', props: { propA: 'haha', - propB: 3 + propB: 3, }, children: [ { componentName: 'SubNode', props: { propA: 'haha', - propB: 3 - } + propB: 3, + }, }, { componentName: 'SubNode2', props: { propA: 'haha', - propB: 3 - } - } - ] + propB: 3, + }, + }, + ], }); expect(nodesMap.size).toBe(ids.length + 3); expect(formNode.children.length).toBe(4); @@ -379,8 +379,8 @@ describe('schema 生成节点模型测试', () => { id: 'nodeschema-id1', props: { propA: 'haha', - propB: 3 - } + propB: 3, + }, }); expect(nodesMap.get('nodeschema-id1').componentName).toBe('TextInput'); expect(nodesMap.size).toBe(ids.length + 1); @@ -397,8 +397,8 @@ describe('schema 生成节点模型测试', () => { id: 'nodeschema-id1', props: { propA: 'haha', - propB: 3 - } + propB: 3, + }, }); expect(nodesMap.get('nodeschema-id1').componentName).toBe('TextInput'); expect(nodesMap.size).toBe(ids.length + 1); @@ -415,8 +415,8 @@ describe('schema 生成节点模型测试', () => { id: 'nodeschema-id2', props: { propA: 'haha', - propB: 3 - } + propB: 3, + }, }); currentDocument?.insertNode(formNode, inputNode); expect(formNode.children?.get(3)?.componentName).toBe('TextInput'); @@ -431,7 +431,7 @@ describe('schema 生成节点模型测试', () => { const formNode = nodesMap.get('form') as Node; currentDocument?.insertNode(formNode, { type: 'JSExpression', - value: 'just a expression' + value: 'just a expression', }); expect(nodesMap.size).toBe(ids.length + 1); expect(formNode.children?.get(3)?.componentName).toBe('Leaf'); @@ -476,16 +476,16 @@ describe('schema 生成节点模型测试', () => { componentName: 'TextInput', props: { propA: 'haha2', - propB: 3 - } + propB: 3, + }, }, { componentName: 'TextInput2', props: { propA: 'haha', - propB: 3 - } - } + propB: 3, + }, + }, ], 1); expect(nodesMap.size).toBe(ids.length + 2); expect(formNode.children?.length).toBe(5); @@ -494,12 +494,12 @@ describe('schema 生成节点模型测试', () => { expect(insertedNode1.componentName).toBe('TextInput'); expect(insertedNode1.propsData).toEqual({ propA: 'haha2', - propB: 3 + propB: 3, }); expect(insertedNode2.componentName).toBe('TextInput2'); expect(insertedNode2.propsData).toEqual({ propA: 'haha', - propB: 3 + propB: 3, }); }); @@ -515,17 +515,17 @@ describe('schema 生成节点模型测试', () => { componentName: 'TextInput', props: { propA: 'haha2', - propB: 3 - } + propB: 3, + }, }); const createdNode2 = currentDocument?.createNode({ componentName: 'TextInput2', props: { propA: 'haha', - propB: 3 - } + propB: 3, + }, }); - currentDocument?.insertNodes(formNode, [ createdNode1, createdNode2 ], 1); + currentDocument?.insertNodes(formNode, [createdNode1, createdNode2], 1); expect(nodesMap.size).toBe(ids.length + 2); expect(formNode.children?.length).toBe(5); const insertedNode1 = formNode.children.get(1); @@ -533,16 +533,16 @@ describe('schema 生成节点模型测试', () => { expect(insertedNode1.componentName).toBe('TextInput'); expect(insertedNode1.propsData).toEqual({ propA: 'haha2', - propB: 3 + propB: 3, }); expect(insertedNode2.componentName).toBe('TextInput2'); expect(insertedNode2.propsData).toEqual({ propA: 'haha', - propB: 3 + propB: 3, }); }); }); - }) + }); describe('block ❌ | component ❌ | slot ✅', () => { it('基本的 slot 创建', () => { @@ -564,4 +564,4 @@ describe('schema 生成节点模型测试', () => { expect(nodesMap.get('node_k1ow3cbd').slots).toHaveLength(1); }); }); -}); \ No newline at end of file +}); diff --git a/packages/designer/tests/document/node/node.dragdrop.test.ts b/packages/designer/tests/document/node/node.dragdrop.test.ts index 3adcc0d4c..de4e4da92 100644 --- a/packages/designer/tests/document/node/node.dragdrop.test.ts +++ b/packages/designer/tests/document/node/node.dragdrop.test.ts @@ -55,7 +55,5 @@ describe.skip('节点拖拽测试', () => { expect(getIdsFromSchema(exportSchema).length).toBe(expectedNodeCnt); expect(mockCreateSettingEntry).toBeCalledTimes(expectedNodeCnt); }); - - }); -}); \ No newline at end of file +}); diff --git a/packages/designer/tests/document/node/node.modify.test.ts b/packages/designer/tests/document/node/node.modify.test.ts index 1b4805e4e..cd157868b 100644 --- a/packages/designer/tests/document/node/node.modify.test.ts +++ b/packages/designer/tests/document/node/node.modify.test.ts @@ -143,7 +143,7 @@ describe('schema 生成节点模型测试', () => { formNode?.setPropValue('obj', { a: 2, b: true, - c: 'another string' + c: 'another string', }); const objProp = formNode?.getProp('obj'); expect(objProp?.getValue()).toEqual({ @@ -211,7 +211,7 @@ describe('schema 生成节点模型测试', () => { props?.setPropValue('obj', { a: 2, b: true, - c: 'another string' + c: 'another string', }); const objProp = formNode?.getProp('obj'); expect(objProp?.getValue()).toEqual({ @@ -266,7 +266,7 @@ describe('schema 生成节点模型测试', () => { id: 'form', condition: true, */ - const sizeProp = formNode?.getProp('size'); + const sizeProp = formNode?.getProp('size'); sizeProp?.setValue('large'); expect(sizeProp?.getAsString()).toBe('large'); expect(sizeProp?.getValue()).toBe('large'); @@ -278,10 +278,10 @@ describe('schema 生成节点模型测试', () => { const objProp = formNode?.getProp('obj'); objProp?.setValue({ - a: 2, - b: true, - c: 'another string' - }); + a: 2, + b: true, + c: 'another string', + }); expect(objProp?.getValue()).toEqual({ a: 2, b: true, @@ -329,16 +329,16 @@ describe('schema 生成节点模型测试', () => { props: { txt: 'haha', num: 1, - bool: true - } + bool: true, + }, }, { componentName: 'TextInput2', props: { txt: 'heihei', num: 2, - bool: false - } - }] + bool: false, + }, + }], }); expect(nodesMap.size).toBe(ids.length + 3); @@ -371,16 +371,16 @@ describe('schema 生成节点模型测试', () => { props: { txt: 'haha', num: 1, - bool: true - } + bool: true, + }, }, { componentName: 'TextInput2', props: { txt: 'heihei', num: 2, - bool: false - } - }] + bool: false, + }, + }], }); expect(nodesMap.size).toBe(ids.length + 3); @@ -408,16 +408,16 @@ describe('schema 生成节点模型测试', () => { props: { txt: 'haha', num: 1, - bool: true - } + bool: true, + }, }, { componentName: 'TextInput2', props: { txt: 'heihei', num: 2, - bool: false - } - }] + bool: false, + }, + }], }); expect(nodesMap.size).toBe(ids.length + 3); @@ -438,9 +438,9 @@ describe('schema 生成节点模型测试', () => { props: { txt: 'xixi', num: 3, - bool: false - } - }] + bool: false, + }, + }], }); expect(nodesMap.size).toBe(ids.length + 2); @@ -453,4 +453,4 @@ describe('schema 生成节点模型测试', () => { expect(firstChildNode?.getPropValue('bool')).toBe(false); }); }); -}); \ No newline at end of file +}); diff --git a/packages/designer/tests/document/node/node.remove.test.ts b/packages/designer/tests/document/node/node.remove.test.ts index 78805fc17..07d173a65 100644 --- a/packages/designer/tests/document/node/node.remove.test.ts +++ b/packages/designer/tests/document/node/node.remove.test.ts @@ -119,4 +119,4 @@ describe('节点模型删除测试', () => { // Div + 2 * Button + Slot + Text expect(nodesMap.size).toBe(originalNodeCnt - 5); }); -}); \ No newline at end of file +}); diff --git a/packages/designer/tests/document/node/node.test.ts b/packages/designer/tests/document/node/node.test.ts index 0416b2a67..b95af1235 100644 --- a/packages/designer/tests/document/node/node.test.ts +++ b/packages/designer/tests/document/node/node.test.ts @@ -1,5 +1,5 @@ import '../../fixtures/window'; -import { set } from '../../utils'; +import { set, delayObxTick, delay } from '../../utils'; import { Editor } from '@ali/lowcode-editor-core'; import { Project } from '../../../src/project/project'; import { DocumentModel } from '../../../src/document/document-model'; @@ -22,7 +22,7 @@ import pageMetadata from '../../fixtures/component-metadata/page'; import rootHeaderMetadata from '../../fixtures/component-metadata/root-header'; import rootContentMetadata from '../../fixtures/component-metadata/root-content'; import rootFooterMetadata from '../../fixtures/component-metadata/root-footer'; -import { delayObxTick, delay } from '../../utils'; + describe('Node 方法测试', () => { let editor: Editor; @@ -375,8 +375,8 @@ describe('Node 方法测试', () => { doc.project.mountSimulator({ computeRect: () => ({ x: 2, y: 2 }), viewport: { - contentBounds: { x: 1, y: 1 } - } + contentBounds: { x: 1, y: 1 }, + }, }); expect(root.getRect()).toEqual({ x: 1, y: 1 }); @@ -448,7 +448,7 @@ describe('Node 方法测试', () => { return []; } return [{}]; - } + }, }); expect(root.getDOMNode()).toBeUndefined(); diff --git a/packages/designer/tests/document/node/props/prop.test.ts b/packages/designer/tests/document/node/props/prop.test.ts index ecc6023b4..00ab084e5 100644 --- a/packages/designer/tests/document/node/props/prop.test.ts +++ b/packages/designer/tests/document/node/props/prop.test.ts @@ -1,5 +1,5 @@ import '../../../fixtures/window'; -import { set } from '../../../utils'; +import { set, delayObxTick } from '../../../utils'; import { Editor } from '@ali/lowcode-editor-core'; import { Props } from '../../../../src/document/node/props/props'; import { Designer } from '../../../../src/designer/designer'; @@ -7,7 +7,7 @@ import { Project } from '../../../../src/project/project'; import { DocumentModel } from '../../../../src/document/document-model'; import { Prop, isProp, isValidArrayIndex } from '../../../../src/document/node/props/prop'; import { TransformStage } from '@ali/lowcode-types'; -import { delayObxTick } from '../../../utils'; + const mockedOwner = { componentName: 'Div', @@ -147,7 +147,7 @@ describe('Prop 类测试', () => { it('迭代器 / map / forEach', () => { const mockedFn = jest.fn(); - for (let item of strProp) { + for (const item of strProp) { mockedFn(); } expect(mockedFn).not.toHaveBeenCalled(); @@ -160,7 +160,7 @@ describe('Prop 类测试', () => { mockedFn.mockClear(); strProp.map(item => { - mockedFn(); + return mockedFn(); }); expect(mockedFn).not.toHaveBeenCalled(); mockedFn.mockClear(); @@ -214,7 +214,7 @@ describe('Prop 类测试', () => { const fromStashProp = prop.get('l'); const fromStashNestedProp = prop.get('m.m1'); fromStashProp.setValue('fromStashProp'); - fromStashNestedProp?.setValue('fromStashNestedProp') + fromStashNestedProp?.setValue('fromStashNestedProp'); await delayObxTick(); expect(prop.get('l').getValue()).toBe('fromStashProp'); @@ -277,7 +277,7 @@ describe('Prop 类测试', () => { it('迭代器 / map / forEach', () => { const mockedFn = jest.fn(); - for (let item of prop) { + for (const item of prop) { mockedFn(); } expect(mockedFn).toHaveBeenCalledTimes(5); @@ -290,7 +290,7 @@ describe('Prop 类测试', () => { mockedFn.mockClear(); prop.map(item => { - mockedFn(); + return mockedFn(); }); expect(mockedFn).toHaveBeenCalledTimes(5); mockedFn.mockClear(); @@ -361,7 +361,7 @@ describe('Prop 类测试', () => { const slotProp = new Prop(div?.getProps(), { type: 'JSSlot', value: [{ - componentName: 'Button' + componentName: 'Button', }], }); diff --git a/packages/designer/tests/document/node/props/props.test.ts b/packages/designer/tests/document/node/props/props.test.ts index 0e05d923e..56597ecc2 100644 --- a/packages/designer/tests/document/node/props/props.test.ts +++ b/packages/designer/tests/document/node/props/props.test.ts @@ -1,14 +1,14 @@ import '../../../fixtures/window'; -import { set } from '../../../utils'; +import { set, delayObxTick } from '../../../utils'; import { Editor } from '@ali/lowcode-editor-core'; -import { Props, getConvertedExtraKey, getOriginalExtraKey } from '../../../../src/document/node/props/props'; +import { Props, getConvertedExtraKey, getOriginalExtraKey, Prop, isProp, isValidArrayIndex } from '../../../../src/document/node/props/props'; import { Designer } from '../../../../src/designer/designer'; import { Project } from '../../../../src/project/project'; import { DocumentModel } from '../../../../src/document/document-model'; -import { Prop, isProp, isValidArrayIndex } from '../../../../src/document/node/props/props'; + import { TransformStage } from '@ali/lowcode-types'; -import { delayObxTick } from '../../../utils'; + const mockedOwner = { componentName: 'Page' }; @@ -62,7 +62,7 @@ describe('Props 类测试', () => { const fromStashProp = props.get('l', true); const fromStashNestedProp = props.get('m.m1', true); fromStashProp.setValue('fromStashProp'); - fromStashNestedProp?.setValue('fromStashNestedProp') + fromStashNestedProp?.setValue('fromStashNestedProp'); await delayObxTick(); expect(props.get('l').getValue()).toBe('fromStashProp'); @@ -122,7 +122,7 @@ describe('Props 类测试', () => { it('import', () => { props.import({ x: 1, - y: true + y: true, }, { loop: false }); expect(props.export()).toEqual({ props: { @@ -131,7 +131,7 @@ describe('Props 类测试', () => { }, extras: { loop: false, - } + }, }); props.import(); @@ -167,7 +167,7 @@ describe('Props 类测试', () => { it('迭代器 / map / forEach', () => { const mockedFn = jest.fn(); - for (let item of props) { + for (const item of props) { mockedFn(); } expect(mockedFn).toHaveBeenCalledTimes(6); @@ -180,13 +180,13 @@ describe('Props 类测试', () => { mockedFn.mockClear(); props.map(item => { - mockedFn(); + return mockedFn(); }); expect(mockedFn).toHaveBeenCalledTimes(6); mockedFn.mockClear(); props.filter(item => { - mockedFn(); + return mockedFn(); }); expect(mockedFn).toHaveBeenCalledTimes(6); mockedFn.mockClear(); @@ -213,14 +213,14 @@ describe('Props 类测试', () => { it('export', () => { expect(props.export().extras).toEqual({ - condition: true - }) + condition: true, + }); }); it('import', () => { props.import([1], { loop: true }); expect(props.export().extras).toEqual({ - loop: true + loop: true, }); props.items[0]?.unset(); @@ -242,4 +242,4 @@ describe('其他函数', () => { expect(getOriginalExtraKey('___a___')).toBe('a'); expect(getOriginalExtraKey('___a___.b')).toBe('a.b'); }); -}); \ No newline at end of file +}); diff --git a/packages/designer/tests/document/node/props/value-to-source.test.ts b/packages/designer/tests/document/node/props/value-to-source.test.ts index ac38c8dd4..2694211e8 100644 --- a/packages/designer/tests/document/node/props/value-to-source.test.ts +++ b/packages/designer/tests/document/node/props/value-to-source.test.ts @@ -8,7 +8,7 @@ it('valueToSource', () => { expect(valueToSource([{ a: 1 }])).toMatchSnapshot(); expect(valueToSource({ a: 1 })).toMatchSnapshot(); expect(valueToSource(null)).toMatchSnapshot(); - expect(valueToSource(function haha() {})).toMatchSnapshot(); + expect(valueToSource(() => {})).toMatchSnapshot(); expect(valueToSource(new Map())).toMatchSnapshot(); expect(valueToSource(new Set())).toMatchSnapshot(); expect(valueToSource(/haha/)).toMatchSnapshot(); @@ -19,10 +19,10 @@ it('valueToSource', () => { }); it('getSource', () => { - expect(getSource({ __source: { a: 1 }})).toEqual({ a: 1 }); + expect(getSource({ __source: { a: 1 } })).toEqual({ a: 1 }); expect(getSource()).toBe(''); const value = { abc: 1 }; getSource(value); expect(value).toHaveProperty('__source'); expect(getSource(1)).toBe('1'); -}); \ No newline at end of file +}); diff --git a/packages/designer/tests/document/selection.test.ts b/packages/designer/tests/document/selection.test.ts index 72fa2942e..57cc25db6 100644 --- a/packages/designer/tests/document/selection.test.ts +++ b/packages/designer/tests/document/selection.test.ts @@ -242,4 +242,4 @@ describe('选择区测试', () => { expect(selection.selected).toEqual(['page']); selectionChangeHandler.mockClear(); }); -}); \ No newline at end of file +}); diff --git a/packages/designer/tests/fixtures/disable-raf.ts b/packages/designer/tests/fixtures/disable-raf.ts index 14b710125..c19c3c097 100644 --- a/packages/designer/tests/fixtures/disable-raf.ts +++ b/packages/designer/tests/fixtures/disable-raf.ts @@ -1,3 +1,3 @@ Object.defineProperty(window, 'requestAnimationFrame', { value: null, -}) \ No newline at end of file +}); diff --git a/packages/designer/tests/fixtures/schema/form.ts b/packages/designer/tests/fixtures/schema/form.ts index 12cf7cbb1..1104207b3 100644 --- a/packages/designer/tests/fixtures/schema/form.ts +++ b/packages/designer/tests/fixtures/schema/form.ts @@ -962,8 +962,8 @@ export default { value: [{ componentName: 'Text', props: {}, - }] - } + }], + }, }, condition: true, }, diff --git a/packages/designer/tests/fixtures/schema/setting.ts b/packages/designer/tests/fixtures/schema/setting.ts index 58db3921c..f325cdcea 100644 --- a/packages/designer/tests/fixtures/schema/setting.ts +++ b/packages/designer/tests/fixtures/schema/setting.ts @@ -46,12 +46,12 @@ export default { useFieldIdAsDomId: false, customClassName: { type: 'JSExpression', - value: 'getFromSomewhere()' + value: 'getFromSomewhere()', }, customClassName2: { type: 'JSExpression', mock: { hi: 'mock' }, - value: 'getFromSomewhere()' + value: 'getFromSomewhere()', }, }, extraPropA: 'haha', @@ -85,6 +85,6 @@ export default { customClassName: '', }, extraPropA: 'haha', - } + }, ], }; diff --git a/packages/designer/tests/fixtures/unhandled-rejection.ts b/packages/designer/tests/fixtures/unhandled-rejection.ts index d69ffa08b..b2c427548 100644 --- a/packages/designer/tests/fixtures/unhandled-rejection.ts +++ b/packages/designer/tests/fixtures/unhandled-rejection.ts @@ -1,7 +1,7 @@ if (!process.env.LISTENING_TO_UNHANDLED_REJECTION) { process.on('unhandledRejection', reason => { throw reason; - }) + }); // Avoid memory leak by adding too many listeners process.env.LISTENING_TO_UNHANDLED_REJECTION = true; -} \ No newline at end of file +} diff --git a/packages/designer/tests/fixtures/window.ts b/packages/designer/tests/fixtures/window.ts index 4e0213d98..d5c4a2303 100644 --- a/packages/designer/tests/fixtures/window.ts +++ b/packages/designer/tests/fixtures/window.ts @@ -17,4 +17,4 @@ Object.defineProperty(window, 'React', { value: {}, }); -window.scrollTo = () => {}; \ No newline at end of file +window.scrollTo = () => {}; diff --git a/packages/designer/tests/main/meta/component-meta.test.ts b/packages/designer/tests/main/meta/component-meta.test.ts index 65d534a56..8660ab886 100644 --- a/packages/designer/tests/main/meta/component-meta.test.ts +++ b/packages/designer/tests/main/meta/component-meta.test.ts @@ -59,8 +59,8 @@ describe('组件元数据处理', () => { addBuiltinComponentAction({ name: 'new', content: { - action() {} - } + action() {}, + }, }); // availableActions 有 computed 缓存 expect(meta.availableActions).toHaveLength(3); @@ -68,4 +68,4 @@ describe('组件元数据处理', () => { expect(meta.availableActions[1].name).toBe('hide'); expect(meta.availableActions[2].name).toBe('copy'); }); -}); \ No newline at end of file +}); diff --git a/packages/designer/tests/plugin/plugin-manager.test.ts b/packages/designer/tests/plugin/plugin-manager.test.ts index 85457075a..e08f8fc4b 100644 --- a/packages/designer/tests/plugin/plugin-manager.test.ts +++ b/packages/designer/tests/plugin/plugin-manager.test.ts @@ -44,8 +44,8 @@ describe('plugin 测试', () => { return { x: 1, y: 2, - } - } + }; + }, }; }, { test: 1 }); await pluginManager.init(); @@ -168,5 +168,5 @@ describe('plugin 测试', () => { await plugin.dispose(); expect(pluginManager.has('demo1')).toBeFalsy(); - }) -}); \ No newline at end of file + }); +}); diff --git a/packages/designer/tests/project/project-methods.test.ts b/packages/designer/tests/project/project-methods.test.ts index 8769fb7e9..3a8e34fdf 100644 --- a/packages/designer/tests/project/project-methods.test.ts +++ b/packages/designer/tests/project/project-methods.test.ts @@ -53,7 +53,7 @@ describe.only('Project 方法测试', () => { componentsTree: [{ componentName: 'Page', fileName: 'f1', - }] + }], }, 'f1'); expect(project.currentDocument?.fileName).toBe('f1'); }); @@ -63,13 +63,13 @@ describe.only('Project 方法测试', () => { componentsTree: [{ componentName: 'Page', fileName: 'f1', - }] + }], }, true); project.setSchema({ componentsTree: [{ componentName: 'Page', props: { a: 1 }, - }] + }], }); expect(project.currentDocument?.rootNode?.propsData).toEqual({ a: 1 }); }); @@ -79,7 +79,7 @@ describe.only('Project 方法测试', () => { componentsTree: [{ componentName: 'Page', fileName: 'f1', - }] + }], }); const doc1 = project.createDocument({ componentName: 'Page', @@ -179,4 +179,4 @@ describe.only('Project 方法测试', () => { project.setRendererReady({ a: 1 }); expect(mockedFn).not.toHaveBeenCalled(); }); -}); \ No newline at end of file +}); diff --git a/packages/designer/tests/utils/bom.ts b/packages/designer/tests/utils/bom.ts index 285000889..743b151c3 100644 --- a/packages/designer/tests/utils/bom.ts +++ b/packages/designer/tests/utils/bom.ts @@ -47,8 +47,8 @@ const mockCreateElement = jest.fn((tagName) => { removeEventListener: mockRemoveEventListener, triggerEventListener: mockTriggerEventListener, removeAttribute: mockRemoveAttribute, - } -}) + }; +}); export function getMockDocument(): MockDocument { return { @@ -108,4 +108,4 @@ export function getMockElement(tagName, options = {}) { // elem.ownerDocument = document; // elem.ownerDocument.defaultView = window; return elem; -} \ No newline at end of file +} diff --git a/packages/designer/tests/utils/event.ts b/packages/designer/tests/utils/event.ts index 59f7b016e..62f7c44b7 100644 --- a/packages/designer/tests/utils/event.ts +++ b/packages/designer/tests/utils/event.ts @@ -5,4 +5,4 @@ export function getMockEvent(target, options) { stopPropagation() {}, ...options, }; -} \ No newline at end of file +} diff --git a/packages/designer/tests/utils/index.ts b/packages/designer/tests/utils/index.ts index 69d9a2359..8fedc5c6a 100644 --- a/packages/designer/tests/utils/index.ts +++ b/packages/designer/tests/utils/index.ts @@ -2,4 +2,4 @@ export { getIdsFromSchema, getNodeFromSchemaById } from '@ali/lowcode-test-mate/ export * from './bom'; export * from './event'; export * from './renderer'; -export * from './misc'; \ No newline at end of file +export * from './misc'; diff --git a/packages/designer/tests/utils/misc.ts b/packages/designer/tests/utils/misc.ts index d93d85941..9ea0b8829 100644 --- a/packages/designer/tests/utils/misc.ts +++ b/packages/designer/tests/utils/misc.ts @@ -11,7 +11,7 @@ export function set(obj: any, path: any, val: any) { } else { acc[seg] = val; } - }) + }); } return lodashSet(obj, path, val); } @@ -22,4 +22,4 @@ export function delay(ms) { export function delayObxTick() { return delay(100); -} \ No newline at end of file +} diff --git a/packages/designer/tests/utils/renderer.ts b/packages/designer/tests/utils/renderer.ts index cd91c15c5..9fbac91be 100644 --- a/packages/designer/tests/utils/renderer.ts +++ b/packages/designer/tests/utils/renderer.ts @@ -3,6 +3,6 @@ export function getMockRenderer() { isSimulatorRenderer: true, run() { // console.log('renderer run'); - } - } -} \ No newline at end of file + }, + }; +} diff --git a/packages/editor-core/src/widgets/title/title.less b/packages/editor-core/src/widgets/title/title.less index 3ab4c1515..e9d076552 100644 --- a/packages/editor-core/src/widgets/title/title.less +++ b/packages/editor-core/src/widgets/title/title.less @@ -9,7 +9,7 @@ img { width: 16px; height: 16px; - filter: brightness(0) invert(1) + filter: brightness(0) invert(1); } } &.only-icon { diff --git a/packages/editor-preset-vision/src/fields/fields.less b/packages/editor-preset-vision/src/fields/fields.less index c02417425..951654da2 100644 --- a/packages/editor-preset-vision/src/fields/fields.less +++ b/packages/editor-preset-vision/src/fields/fields.less @@ -177,7 +177,7 @@ } &.engine-block-field { - >.engine-field-head{ + >.engine-field-head { > .engine-field-title { letter-spacing: 1px; } diff --git a/packages/editor-preset-vision/src/pages.ts b/packages/editor-preset-vision/src/pages.ts index 95dfa0e64..7acf5c4e3 100644 --- a/packages/editor-preset-vision/src/pages.ts +++ b/packages/editor-preset-vision/src/pages.ts @@ -43,18 +43,16 @@ const pages = Object.assign(project, { componentsTree.push(item.componentsTree[0]); } }); + } else if (isPageDataV1(pages[0])) { + componentsTree = [pages[0].layout]; } else { - if (isPageDataV1(pages[0])) { - componentsTree = [pages[0].layout]; - } else { - // if (!pages[0].componentsTree) return; - componentsTree = pages[0].componentsTree; - if (componentsTree[0]) { - componentsTree[0].componentName = componentsTree[0].componentName || 'Page'; - // FIXME - if (componentsTree[0].componentName === 'Page' || componentsTree[0].componentName === 'Component') { - componentsTree[0].methods = {}; - } + // if (!pages[0].componentsTree) return; + componentsTree = pages[0].componentsTree; + if (componentsTree[0]) { + componentsTree[0].componentName = componentsTree[0].componentName || 'Page'; + // FIXME + if (componentsTree[0].componentName === 'Page' || componentsTree[0].componentName === 'Component') { + componentsTree[0].methods = {}; } } } diff --git a/packages/editor-preset-vision/src/props-reducers/filter-reducer.ts b/packages/editor-preset-vision/src/props-reducers/filter-reducer.ts index 928e8dd82..0ec00e134 100644 --- a/packages/editor-preset-vision/src/props-reducers/filter-reducer.ts +++ b/packages/editor-preset-vision/src/props-reducers/filter-reducer.ts @@ -22,4 +22,4 @@ export function filterReducer(props: any, node: Node): any { return newProps; } return props; -} \ No newline at end of file +} diff --git a/packages/editor-preset-vision/src/props-reducers/live-lifecycle-reducer.ts b/packages/editor-preset-vision/src/props-reducers/live-lifecycle-reducer.ts index a626c3b30..ba351b83a 100644 --- a/packages/editor-preset-vision/src/props-reducers/live-lifecycle-reducer.ts +++ b/packages/editor-preset-vision/src/props-reducers/live-lifecycle-reducer.ts @@ -10,7 +10,7 @@ export function liveLifecycleReducer(props: any, node: Node) { didMount: 'componentDidMount', willUnmount: 'componentWillUnMount', }; - const lifeCycles = props.lifeCycles; + const { lifeCycles } = props; Object.keys(lifeCycleMap).forEach(key => { if (lifeCycles[key]) { lifeCycles[lifeCycleMap[key]] = lifeCycles[key]; @@ -24,4 +24,4 @@ export function liveLifecycleReducer(props: any, node: Node) { }; } return props; -} \ No newline at end of file +} diff --git a/packages/editor-preset-vision/src/props-reducers/node-top-fixed-reducer.ts b/packages/editor-preset-vision/src/props-reducers/node-top-fixed-reducer.ts index 194496a9c..08563cea0 100644 --- a/packages/editor-preset-vision/src/props-reducers/node-top-fixed-reducer.ts +++ b/packages/editor-preset-vision/src/props-reducers/node-top-fixed-reducer.ts @@ -9,4 +9,4 @@ export function nodeTopFixedReducer(props: any, node: Node) { }; } return props; -} \ No newline at end of file +} diff --git a/packages/editor-preset-vision/src/props-reducers/style-reducer.ts b/packages/editor-preset-vision/src/props-reducers/style-reducer.ts index 214d8deb1..d70a36762 100644 --- a/packages/editor-preset-vision/src/props-reducers/style-reducer.ts +++ b/packages/editor-preset-vision/src/props-reducers/style-reducer.ts @@ -47,4 +47,4 @@ function appendStyleNode(props: any, styleProp: any, cssClass: string, cssId: st return `${b / 2}px`; }).replace(/:root/g, `.${cssClass}`))); } -} \ No newline at end of file +} diff --git a/packages/editor-preset-vision/src/vision.less b/packages/editor-preset-vision/src/vision.less index fdf1c737b..772cbe207 100644 --- a/packages/editor-preset-vision/src/vision.less +++ b/packages/editor-preset-vision/src/vision.less @@ -1,13 +1,13 @@ html.engine-cursor-move, html.engine-cursor-move * { - cursor: grabbing !important + cursor: grabbing !important; } html.engine-cursor-copy, html.engine-cursor-copy * { - cursor: copy !important + cursor: copy !important; } html.engine-cursor-ew-resize, html.engine-cursor-ew-resize * { - cursor: ew-resize !important + cursor: ew-resize !important; } body, #engine { @@ -107,7 +107,7 @@ html.engine-blur #engine { // font-size: 14px; // } -html.engine-preview-mode { +html.engine-preview-mode { .lc-left-area, .lc-right-area { display: none !important; } @@ -124,5 +124,5 @@ html.engine-preview-mode { } .lc-setter-mixed { - flex: 1 + flex: 1; } diff --git a/packages/editor-preset-vision/tests/fixtures/window.ts b/packages/editor-preset-vision/tests/fixtures/window.ts index b5886ad6d..adba16c13 100644 --- a/packages/editor-preset-vision/tests/fixtures/window.ts +++ b/packages/editor-preset-vision/tests/fixtures/window.ts @@ -5,4 +5,4 @@ React.PropTypes = PropTypes; window.React = React; document.documentElement.requestFullscreen = () => {}; -document.exitFullscreen = () => {}; \ No newline at end of file +document.exitFullscreen = () => {}; diff --git a/packages/editor-preset-vision/tests/master/drag-engine.test.ts b/packages/editor-preset-vision/tests/master/drag-engine.test.ts index 438e30fac..0fe98c5b0 100644 --- a/packages/editor-preset-vision/tests/master/drag-engine.test.ts +++ b/packages/editor-preset-vision/tests/master/drag-engine.test.ts @@ -62,7 +62,7 @@ describe('drag-engine 测试', () => { designer.dragon.emitter.emit('drag', { dragObject: { - nodes: [designer.currentDocument?.getNode('node_k1ow3cbo')] + nodes: [designer.currentDocument?.getNode('node_k1ow3cbo')], }, originalEvent: mousedownEvt, }); @@ -72,7 +72,7 @@ describe('drag-engine 测试', () => { designer.dragon.emitter.emit('dragend', { dragObject: { - nodes: [designer.currentDocument?.getNode('node_k1ow3cbo')] + nodes: [designer.currentDocument?.getNode('node_k1ow3cbo')], }, originalEvent: mousedownEvt, }); @@ -102,7 +102,7 @@ describe('drag-engine 测试', () => { designer.dragon.emitter.emit('drag', { dragObject: { - nodes: [designer.currentDocument?.getNode('node_k1ow3cbo')] + nodes: [designer.currentDocument?.getNode('node_k1ow3cbo')], }, originalEvent: mousedownEvt, }); @@ -111,7 +111,7 @@ describe('drag-engine 测试', () => { designer.dragon.emitter.emit('dragend', { dragObject: { - nodes: [designer.currentDocument?.getNode('node_k1ow3cbo')] + nodes: [designer.currentDocument?.getNode('node_k1ow3cbo')], }, originalEvent: mousedownEvt, }); @@ -141,7 +141,7 @@ describe('drag-engine 测试', () => { designer.dragon.emitter.emit('drag', { dragObject: { - nodes: [designer.currentDocument?.getNode('node_k1ow3cbo')] + nodes: [designer.currentDocument?.getNode('node_k1ow3cbo')], }, originalEvent: mousedownEvt, }); diff --git a/packages/editor-preset-vision/tests/vision-api/api-export.test.ts b/packages/editor-preset-vision/tests/vision-api/api-export.test.ts index 8da131447..699c2f0a5 100644 --- a/packages/editor-preset-vision/tests/vision-api/api-export.test.ts +++ b/packages/editor-preset-vision/tests/vision-api/api-export.test.ts @@ -84,4 +84,4 @@ describe('API 多种导出场景测试', () => { expect(VisualEngine.logger).toBe(logger); expect(VisualEngine.Symbols).toBe(Symbols); }); -}); \ No newline at end of file +}); diff --git a/packages/editor-preset-vision/tests/vision-api/project.test.ts b/packages/editor-preset-vision/tests/vision-api/project.test.ts index bec071d51..fa89ec9e6 100644 --- a/packages/editor-preset-vision/tests/vision-api/project.test.ts +++ b/packages/editor-preset-vision/tests/vision-api/project.test.ts @@ -14,7 +14,6 @@ describe('VisualEngine.Project 相关 API 测试', () => { componentsMap: {}, componentsTree: [formSchema], }); - }); it('setConfig', () => { diff --git a/packages/editor-skeleton/src/components/array-setter/index.tsx b/packages/editor-skeleton/src/components/array-setter/index.tsx index a0f0a1adc..63f6813cc 100644 --- a/packages/editor-skeleton/src/components/array-setter/index.tsx +++ b/packages/editor-skeleton/src/components/array-setter/index.tsx @@ -75,7 +75,7 @@ export class ListSetter extends Component { }; - static onItemChange(onChange: Function|undefined, items: Array) { + static onItemChange(onChange: Function|undefined, items: SettingField[]) { onChange && onChange(items.map(item => { return item && item.getValue(); })); @@ -91,7 +91,7 @@ export class ListSetter extends Component { }); // 对itemsMap重新生成并刷新当前setter数据 - const newItems: Array = []; + const newItems: SettingField[] = []; // const newItemsMap = {}; itemsMap.clear(); for (let i = 0; i < items.length; i++) { diff --git a/packages/editor-skeleton/src/components/array-setter/style.less b/packages/editor-skeleton/src/components/array-setter/style.less index 8e0da024b..f4118ff73 100644 --- a/packages/editor-skeleton/src/components/array-setter/style.less +++ b/packages/editor-skeleton/src/components/array-setter/style.less @@ -15,7 +15,7 @@ .lc-setter-list-add { display: block; width: 100%; - margin-top: 8px;; + margin-top: 8px; } diff --git a/packages/editor-skeleton/src/components/field/index.less b/packages/editor-skeleton/src/components/field/index.less index cc5f0139f..249abef57 100644 --- a/packages/editor-skeleton/src/components/field/index.less +++ b/packages/editor-skeleton/src/components/field/index.less @@ -1,7 +1,7 @@ @x-gap: 12px; @y-gap: 8px; -.lc-settings-content > .lc-field:first-child > .lc-field-head{ +.lc-settings-content > .lc-field:first-child > .lc-field-head { border-top: none !important; } @@ -110,7 +110,7 @@ user-select: none; > .lc-field-icon { - color: #8F9BB3; + color: #8f9bb3; } } diff --git a/packages/editor-skeleton/src/components/mixed-setter/style.less b/packages/editor-skeleton/src/components/mixed-setter/style.less index b3831cbe7..6b5188874 100644 --- a/packages/editor-skeleton/src/components/mixed-setter/style.less +++ b/packages/editor-skeleton/src/components/mixed-setter/style.less @@ -19,7 +19,7 @@ cursor: pointer; .lc-title-icon svg { - fill: #8F9BB3; + fill: #8f9bb3; } } .variable-binded { @@ -59,10 +59,10 @@ .lc-block-field > .lc-field-body > .lc-setter-mixed{ } -.lc-accordion-field > .lc-field-body > .lc-setter-mixed{ +.lc-accordion-field > .lc-field-body > .lc-setter-mixed { position: static; margin-right: 0; - > .lc-setter-actions{ + > .lc-setter-actions { right: 36px; top: 4px; transform: none; diff --git a/packages/editor-skeleton/src/components/settings/style.less b/packages/editor-skeleton/src/components/settings/style.less index dde8ff03a..382e19b01 100644 --- a/packages/editor-skeleton/src/components/settings/style.less +++ b/packages/editor-skeleton/src/components/settings/style.less @@ -46,7 +46,7 @@ .lc-settings-notice { text-align: center; font-size: 12px; - font-family: PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica,Arial,sans-serif; + font-family: PingFang SC, Hiragino Sans GB, Microsoft YaHei, Helvetica, Arial, sans-serif; color: var(--color-text ,rgba(0,0,0,.6)); padding: 50px 15px 0; } @@ -126,7 +126,7 @@ .lc-settings-tabs-content { position: absolute; top: 70px; - left:0; + left: 0; right: 0; bottom: 0; .next-tabs-tabpane { diff --git a/packages/editor-skeleton/src/components/stage-box/stage-box.tsx b/packages/editor-skeleton/src/components/stage-box/stage-box.tsx index 4baf04019..92e77db57 100644 --- a/packages/editor-skeleton/src/components/stage-box/stage-box.tsx +++ b/packages/editor-skeleton/src/components/stage-box/stage-box.tsx @@ -23,8 +23,6 @@ type WillDetachMember = () => void; @observer export default class StageBox extends Component { - - static defaultProps = StageBoxDefaultProps; static displayName = 'StageBox'; diff --git a/packages/engine/src/modules/editor-types.ts b/packages/engine/src/modules/editor-types.ts index 10623b6f4..a25251866 100644 --- a/packages/engine/src/modules/editor-types.ts +++ b/packages/engine/src/modules/editor-types.ts @@ -1,3 +1,3 @@ import * as editorCabin from '@ali/lowcode-editor-core'; -export type RegisteredSetter = editorCabin.RegisteredSetter; \ No newline at end of file +export type RegisteredSetter = editorCabin.RegisteredSetter; diff --git a/packages/engine/src/modules/skeleton-types.ts b/packages/engine/src/modules/skeleton-types.ts index ab0e1ecf9..74c0fe6ec 100644 --- a/packages/engine/src/modules/skeleton-types.ts +++ b/packages/engine/src/modules/skeleton-types.ts @@ -1,3 +1,3 @@ import * as skeletonCabin from '@ali/lowcode-editor-skeleton'; -export type IWidgetBaseConfig = skeletonCabin.IWidgetBaseConfig; \ No newline at end of file +export type IWidgetBaseConfig = skeletonCabin.IWidgetBaseConfig; diff --git a/packages/plugin-outline-pane/src/views/style.less b/packages/plugin-outline-pane/src/views/style.less index c910258d8..9847ac494 100644 --- a/packages/plugin-outline-pane/src/views/style.less +++ b/packages/plugin-outline-pane/src/views/style.less @@ -117,7 +117,7 @@ transform: scale(0.8); transform-origin: top; color: white; - text-shadow: 0px 0px 2px black; + text-shadow: 0 0 2px black; display: block; } } @@ -145,7 +145,7 @@ transform: scale(0.8); transform-origin: top; color: white; - text-shadow: 0px 0px 2px black; + text-shadow: 0 0 2px black; display: block; } } diff --git a/packages/rax-renderer/src/index.ts b/packages/rax-renderer/src/index.ts index d89326bc5..2d46c0c51 100644 --- a/packages/rax-renderer/src/index.ts +++ b/packages/rax-renderer/src/index.ts @@ -4,7 +4,7 @@ import { adapter, addonRendererFactory, tempRendererFactory, - rendererFactory + rendererFactory, } from '@ali/lowcode-renderer-core'; import pageRendererFactory from './renderer/page'; import componentRendererFactory from './renderer/component'; @@ -38,7 +38,7 @@ function factory() { isValidComponent(obj: any) { return obj?.prototype?.setState || obj?.prototype instanceof Component; } - } + }; } const RaxRenderer = factory(); @@ -47,6 +47,6 @@ const Engine = RaxRenderer; export { Engine, CompFactory, -} +}; export default RaxRenderer; diff --git a/packages/rax-renderer/src/renderer/block.tsx b/packages/rax-renderer/src/renderer/block.tsx index 6cf51903d..9467e549f 100644 --- a/packages/rax-renderer/src/renderer/block.tsx +++ b/packages/rax-renderer/src/renderer/block.tsx @@ -11,7 +11,7 @@ export default function raxBlockRendererFactory() { return '区块 schema 结构异常!'; } that.__debug(`render - ${__schema.fileName}`); - + const children = ((context) => { that.context = context; that.__generateCtx({}); @@ -20,5 +20,5 @@ export default function raxBlockRendererFactory() { }); return that.__renderContextConsumer(children); } - } + }; } diff --git a/packages/rax-renderer/src/renderer/component.tsx b/packages/rax-renderer/src/renderer/component.tsx index f779d748f..9e4b673f5 100644 --- a/packages/rax-renderer/src/renderer/component.tsx +++ b/packages/rax-renderer/src/renderer/component.tsx @@ -29,8 +29,8 @@ export default function raxComponentRendererFactory() { if (noContainer) { return content; } - + return that.__renderContent(content); } - } + }; } diff --git a/packages/rax-renderer/src/renderer/page.tsx b/packages/rax-renderer/src/renderer/page.tsx index 79cd55ca9..f6f583cf3 100644 --- a/packages/rax-renderer/src/renderer/page.tsx +++ b/packages/rax-renderer/src/renderer/page.tsx @@ -16,7 +16,7 @@ export default function raxPageRendererFactory() { return '页面 schema 结构异常!'; } that.__debug(`render - ${__schema?.fileName}`); - + const { Page } = __components as any; if (Page) { const children = ((context) => { @@ -26,8 +26,8 @@ export default function raxPageRendererFactory() { }); return that.__renderContextConsumer(children); } - + return that.__renderContent(that.__renderContextProvider({ pageContext: that })); } - } + }; } diff --git a/packages/rax-simulator-renderer/src/rax-use-router.js b/packages/rax-simulator-renderer/src/rax-use-router.js index 4c1a6a0fc..a759d127c 100644 --- a/packages/rax-simulator-renderer/src/rax-use-router.js +++ b/packages/rax-simulator-renderer/src/rax-use-router.js @@ -22,16 +22,16 @@ function matchPath(route, pathname, parentParams) { path = path || ''; const regexpCacheKey = `${path}|${end}|${strict}|${sensitive}`; - const keysCacheKey = regexpCacheKey + '|'; + const keysCacheKey = `${regexpCacheKey }|`; let regexp = cache[regexpCacheKey]; - let keys = cache[keysCacheKey] || []; + const keys = cache[keysCacheKey] || []; if (!regexp) { regexp = pathToRegexp(path, keys, { end, strict, - sensitive + sensitive, }); cache[regexpCacheKey] = regexp; cache[keysCacheKey] = keys; @@ -132,7 +132,7 @@ const router = { router.handles[handleId - 1] = null; }, triggerHandles(component) { - router.handles.map((handle) => { + router.handles.forEach((handle) => { handle && handle(component); }); }, @@ -145,7 +145,7 @@ const router = { const matched = matchRoute( parent, parent.path, - fullpath + fullpath, ); function next(parent) { @@ -156,7 +156,7 @@ const router = { return router.errorHandler(error, router.history.location); } - let component = current.$.route.component; + let { component } = current.$.route; if (typeof component === 'function') { component = component(current.$.params, router.history.location); } @@ -177,7 +177,7 @@ const router = { } return next(parent); - } + }, }; function matchLocation({ pathname }) { @@ -216,7 +216,7 @@ export function useRouter(routerConfig) { let newPathes = ''; if (routerConfig) { _routerConfig = routerConfig; - const routes = _routerConfig.routes; + const { routes } = _routerConfig; router.root = Array.isArray(routes) ? { routes } : routes; if (Array.isArray(routes)) { newPathes = routes.map(it => it.path).join(','); @@ -230,7 +230,7 @@ export function useRouter(routerConfig) { pathes = newPathes; } } - + useLayoutEffect(() => { if (unlisten) { unlisten(); @@ -242,8 +242,8 @@ export function useRouter(routerConfig) { handleId = null; } - const history = _routerConfig.history; - const routes = _routerConfig.routes; + const { history } = _routerConfig; + const { routes } = _routerConfig; router.root = Array.isArray(routes) ? { routes } : routes; @@ -278,11 +278,11 @@ export function useRouter(routerConfig) { export function withRouter(Component) { function Wrapper(props) { - const history = router.history; + const { history } = router; return createElement(Component, { ...props, history, location: history.location }); - }; + } - Wrapper.displayName = 'withRouter(' + (Component.displayName || Component.name) + ')'; + Wrapper.displayName = `withRouter(${ Component.displayName || Component.name })`; Wrapper.WrappedComponent = Component; return Wrapper; } diff --git a/packages/rax-simulator-renderer/src/renderer-view.tsx b/packages/rax-simulator-renderer/src/renderer-view.tsx index cd4248bff..bebd7ba9d 100644 --- a/packages/rax-simulator-renderer/src/renderer-view.tsx +++ b/packages/rax-simulator-renderer/src/renderer-view.tsx @@ -78,13 +78,13 @@ export const Routes = (props: { routes: documentInstances.map(instance => { return { path: instance.path, - component: (props: any) => + component: (props: any) => , }; - }) + }), }; const { component } = useRouter(routes); return component; -} +}; function ucfirst(s: string) { return s.charAt(0).toUpperCase() + s.substring(1); @@ -116,7 +116,7 @@ class Layout extends Component<{ rendererContainer: SimulatorRendererContainer } render() { const { rendererContainer, children } = this.props; - const layout = rendererContainer.layout; + const { layout } = rendererContainer; if (layout) { const { Component, props, componentName } = layout; @@ -180,7 +180,6 @@ class Renderer extends Component<{ components={renderer.components} appHelper={renderer.context} context={renderer.context} - appHelper={renderer.context} device={device} designMode={renderer.designMode} key={this.key} diff --git a/packages/rax-simulator-renderer/src/renderer.less b/packages/rax-simulator-renderer/src/renderer.less index 5a1e334f1..f5ba21b87 100644 --- a/packages/rax-simulator-renderer/src/renderer.less +++ b/packages/rax-simulator-renderer/src/renderer.less @@ -9,15 +9,15 @@ html.engine-design-mode { } html.engine-cursor-move, html.engine-cursor-move * { - cursor: grabbing !important + cursor: grabbing !important; } html.engine-cursor-copy, html.engine-cursor-copy * { - cursor: copy !important + cursor: copy !important; } html.engine-cursor-ew-resize, html.engine-cursor-ew-resize * { - cursor: ew-resize !important + cursor: ew-resize !important; } ::-webkit-scrollbar { @@ -100,13 +100,13 @@ body.engine-document { .next-year-picker, .next-breadcrumb-item,.next-calendar-header,.next-calendar-table { pointer-events: none !important; - }*/ + } */ } .engine-live-editing { cursor: text; outline: none; - box-shadow: 0 0 0px 2px rgb(102, 188, 92); + box-shadow: 0 0 0 2px rgb(102, 188, 92); user-select: text; } @@ -114,6 +114,6 @@ body.engine-document { height: 100vh; } -.luna-page{ +.luna-page { height: 100%; } diff --git a/packages/rax-simulator-renderer/src/renderer.ts b/packages/rax-simulator-renderer/src/renderer.ts index b96700092..8419f1b5a 100644 --- a/packages/rax-simulator-renderer/src/renderer.ts +++ b/packages/rax-simulator-renderer/src/renderer.ts @@ -126,7 +126,7 @@ export class DocumentInstance { } get path(): string { - return '/' + this.document.fileName; + return `/${ this.document.fileName}`; } get id() { @@ -157,7 +157,7 @@ export class DocumentInstance { mountInstance(id: string, instance: any) { const docId = this.document.id; - const instancesMap = this.instancesMap; + const { instancesMap } = this; if (instance == null) { let instances = this.instancesMap.get(id); if (instances) { @@ -187,7 +187,7 @@ export class DocumentInstance { origUnmount = origUnmount.origUnmount; } // hack! delete instance from map - const newUnmount = function(this: any) { + const newUnmount = function (this: any) { unmountIntance(id, instance); origUnmount && origUnmount.call(this); }; @@ -314,11 +314,11 @@ export class SimulatorRendererContainer implements BuiltinSimulatorRenderer { }, back() { history.back(); - } + }, }, legaoBuiltins: { getUrlParams() { - const search = history.location.search; + const { search } = history.location; return parseQuery(search); }, }, @@ -396,8 +396,6 @@ export class SimulatorRendererContainer implements BuiltinSimulatorRenderer { subs.unshift(sub); componentName = paths.join('.'); } - - return null; } getNodeInstance(dom: HTMLElement): NodeInstance | null { @@ -535,7 +533,7 @@ export class SimulatorRendererContainer implements BuiltinSimulatorRenderer { }; viewProps._leaf = _leaf; return createElement(Comp, viewProps, children); - } + }, }); } } @@ -562,7 +560,7 @@ export class SimulatorRendererContainer implements BuiltinSimulatorRenderer { document.body.classList.add('engine-document'); // important! Stylesheet.invoke depends raxRender(createElement(SimulatorRendererView, { - rendererContainer: this + rendererContainer: this, }), container, { driver: DriverUniversal, }); diff --git a/packages/react-renderer/jest.config.js b/packages/react-renderer/jest.config.js index 7a5f208ff..865d30116 100644 --- a/packages/react-renderer/jest.config.js +++ b/packages/react-renderer/jest.config.js @@ -17,4 +17,4 @@ module.exports = { '!**/node_modules/**', '!**/vendor/**', ], -}; \ No newline at end of file +}; diff --git a/packages/react-renderer/src/index.ts b/packages/react-renderer/src/index.ts index b2985db59..cb003bf92 100644 --- a/packages/react-renderer/src/index.ts +++ b/packages/react-renderer/src/index.ts @@ -7,7 +7,7 @@ import { blockRendererFactory, addonRendererFactory, tempRendererFactory, - rendererFactory + rendererFactory, } from '@ali/lowcode-renderer-core'; import ConfigProvider from '@alifd/next/lib/config-provider'; @@ -40,11 +40,11 @@ function factory() { constructor(props: any, context: any) { super(props, context); } - + isValidComponent(obj: any) { return obj?.prototype?.isReactComponent || obj?.prototype instanceof Component; } - } + }; } export default factory(); diff --git a/packages/react-renderer/tests/fixtures/schema/basic.ts b/packages/react-renderer/tests/fixtures/schema/basic.ts index 43b92f041..cc587163a 100644 --- a/packages/react-renderer/tests/fixtures/schema/basic.ts +++ b/packages/react-renderer/tests/fixtures/schema/basic.ts @@ -1,567 +1,567 @@ -export default{ - "componentName": "Page", - "id": "node_dockcviv8fo1", - "props": { - "ref": "outterView", - "autoLoading": true, - "style": { - "padding": "0 5px 0 5px" - } - }, - "fileName": "test", - "dataSource": { - "list": [] - }, - "state": { - "text": "outter", - "isShowDialog": false - }, - "css": "body {font-size: 12px;} .botton{width:100px;color:#ff00ff}", - "lifeCycles": { - "componentDidMount": { - "type": "JSFunction", - "value": "function() {\n console.log('did mount');\n }" +export default { + componentName: 'Page', + id: 'node_dockcviv8fo1', + props: { + ref: 'outterView', + autoLoading: true, + style: { + padding: '0 5px 0 5px', }, - "componentWillUnmount": { - "type": "JSFunction", - "value": "function() {\n console.log('will umount');\n }" - } }, - "methods": { - "testFunc": { - "type": "JSFunction", - "value": "function() {\n console.log('test func');\n }" - }, - "onClick": { - "type": "JSFunction", - "value": "function() {\n this.setState({\n isShowDialog: true\n })\n }" - }, - "closeDialog": { - "type": "JSFunction", - "value": "function() {\n this.setState({\n isShowDialog: false\n })\n }" - } + fileName: 'test', + dataSource: { + list: [], }, - "children": [ + state: { + text: 'outter', + isShowDialog: false, + }, + css: 'body {font-size: 12px;} .botton{width:100px;color:#ff00ff}', + lifeCycles: { + componentDidMount: { + type: 'JSFunction', + value: "function() {\n console.log('did mount');\n }", + }, + componentWillUnmount: { + type: 'JSFunction', + value: "function() {\n console.log('will umount');\n }", + }, + }, + methods: { + testFunc: { + type: 'JSFunction', + value: "function() {\n console.log('test func');\n }", + }, + onClick: { + type: 'JSFunction', + value: 'function() {\n this.setState({\n isShowDialog: true\n })\n }', + }, + closeDialog: { + type: 'JSFunction', + value: 'function() {\n this.setState({\n isShowDialog: false\n })\n }', + }, + }, + children: [ { - "componentName": "Box", - "id": "node_dockcy8n9xed", - "props": { - "style": { - "backgroundColor": "rgba(31,56,88,0.1)", - "padding": "12px 12px 12px 12px" - } + componentName: 'Box', + id: 'node_dockcy8n9xed', + props: { + style: { + backgroundColor: 'rgba(31,56,88,0.1)', + padding: '12px 12px 12px 12px', + }, }, - "children": [ + children: [ { - "componentName": "Box", - "id": "node_dockcy8n9xee", - "props": { - "style": { - "padding": "12px 12px 12px 12px", - "backgroundColor": "#ffffff" - } + componentName: 'Box', + id: 'node_dockcy8n9xee', + props: { + style: { + padding: '12px 12px 12px 12px', + backgroundColor: '#ffffff', + }, }, - "children": [ + children: [ { - "componentName": "Breadcrumb", - "id": "node_dockcy8n9xef", - "props": { - "prefix": "next-", - "maxNode": 100, - "component": "nav" + componentName: 'Breadcrumb', + id: 'node_dockcy8n9xef', + props: { + prefix: 'next-', + maxNode: 100, + component: 'nav', }, - "children": [ + children: [ { - "componentName": "Breadcrumb.Item", - "id": "node_dockcy8n9xeg", - "props": { - "prefix": "next-", - "children": "首页" - } + componentName: 'Breadcrumb.Item', + id: 'node_dockcy8n9xeg', + props: { + prefix: 'next-', + children: '首页', + }, }, { - "componentName": "Breadcrumb.Item", - "id": "node_dockcy8n9xei", - "props": { - "prefix": "next-", - "children": "品质中台" - } + componentName: 'Breadcrumb.Item', + id: 'node_dockcy8n9xei', + props: { + prefix: 'next-', + children: '品质中台', + }, }, { - "componentName": "Breadcrumb.Item", - "id": "node_dockcy8n9xek", - "props": { - "prefix": "next-", - "children": "商家品质页面管理" - } + componentName: 'Breadcrumb.Item', + id: 'node_dockcy8n9xek', + props: { + prefix: 'next-', + children: '商家品质页面管理', + }, }, { - "componentName": "Breadcrumb.Item", - "id": "node_dockcy8n9xem", - "props": { - "prefix": "next-", - "children": "质检知识条配置" - } - } - ] - } - ] + componentName: 'Breadcrumb.Item', + id: 'node_dockcy8n9xem', + props: { + prefix: 'next-', + children: '质检知识条配置', + }, + }, + ], + }, + ], }, { - "componentName": "Box", - "id": "node_dockcy8n9xeo", - "props": { - "style": { - "marginTop": "12px", - "backgroundColor": "#ffffff" - } + componentName: 'Box', + id: 'node_dockcy8n9xeo', + props: { + style: { + marginTop: '12px', + backgroundColor: '#ffffff', + }, }, - "children": [ + children: [ { - "componentName": "Form", - "id": "node_dockcy8n9xep", - "props": { - "inline": true, - "style": { - "marginTop": "12px", - "marginRight": "12px", - "marginLeft": "12px" + componentName: 'Form', + id: 'node_dockcy8n9xep', + props: { + inline: true, + style: { + marginTop: '12px', + marginRight: '12px', + marginLeft: '12px', }, - "__events": [] + __events: [], }, - "children": [ + children: [ { - "componentName": "Form.Item", - "id": "node_dockcy8n9xeq", - "props": { - "style": { - "marginBottom": "0" + componentName: 'Form.Item', + id: 'node_dockcy8n9xeq', + props: { + style: { + marginBottom: '0', }, - "label": "类目名:" + label: '类目名:', }, - "children": [ + children: [ { - "componentName": "Select", - "id": "node_dockcy8n9xer", - "props": { - "mode": "single", - "hasArrow": true, - "cacheValue": true, - "style": { - "width": "150px" - } - } - } - ] - }, - { - "componentName": "Form.Item", - "id": "node_dockcy8n9xes", - "props": { - "style": { - "marginBottom": "0" - }, - "label": "项目类型:" - }, - "children": [ - { - "componentName": "Select", - "id": "node_dockcy8n9xet", - "props": { - "mode": "single", - "hasArrow": true, - "cacheValue": true, - "style": { - "width": "200px" - } - } - } - ] - }, - { - "componentName": "Form.Item", - "id": "node_dockcy8n9xeu", - "props": { - "style": { - "marginBottom": "0" - }, - "label": "项目 ID:" - }, - "children": [ - { - "componentName": "Input", - "id": "node_dockcy8n9xev", - "props": { - "hasBorder": true, - "size": "medium", - "autoComplete": "off", - "style": { - "width": "200px" - } - } - } - ] - }, - { - "componentName": "Button.Group", - "id": "node_dockcy8n9xew", - "props": {}, - "children": [ - { - "componentName": "Button", - "id": "node_dockcy8n9xex", - "props": { - "type": "primary", - "style": { - "margin": "0 5px 0 5px" + componentName: 'Select', + id: 'node_dockcy8n9xer', + props: { + mode: 'single', + hasArrow: true, + cacheValue: true, + style: { + width: '150px', }, - "htmlType": "submit", - "children": "搜索" - } + }, + }, + ], + }, + { + componentName: 'Form.Item', + id: 'node_dockcy8n9xes', + props: { + style: { + marginBottom: '0', + }, + label: '项目类型:', + }, + children: [ + { + componentName: 'Select', + id: 'node_dockcy8n9xet', + props: { + mode: 'single', + hasArrow: true, + cacheValue: true, + style: { + width: '200px', + }, + }, + }, + ], + }, + { + componentName: 'Form.Item', + id: 'node_dockcy8n9xeu', + props: { + style: { + marginBottom: '0', + }, + label: '项目 ID:', + }, + children: [ + { + componentName: 'Input', + id: 'node_dockcy8n9xev', + props: { + hasBorder: true, + size: 'medium', + autoComplete: 'off', + style: { + width: '200px', + }, + }, + }, + ], + }, + { + componentName: 'Button.Group', + id: 'node_dockcy8n9xew', + props: {}, + children: [ + { + componentName: 'Button', + id: 'node_dockcy8n9xex', + props: { + type: 'primary', + style: { + margin: '0 5px 0 5px', + }, + htmlType: 'submit', + children: '搜索', + }, }, { - "componentName": "Button", - "id": "node_dockcy8n9xe10", - "props": { - "type": "normal", - "style": { - "margin": "0 5px 0 5px" + componentName: 'Button', + id: 'node_dockcy8n9xe10', + props: { + type: 'normal', + style: { + margin: '0 5px 0 5px', }, - "htmlType": "reset", - "children": "清空" - } - } - ] - } - ] - } - ] + htmlType: 'reset', + children: '清空', + }, + }, + ], + }, + ], + }, + ], }, { - "componentName": "Box", - "id": "node_dockcy8n9xe1f", - "props": { - "style": { - "backgroundColor": "#ffffff", - "paddingBottom": "24px", - "display": "flex", - "flexDirection": "row", - "justifyContent": "flex-end" - } + componentName: 'Box', + id: 'node_dockcy8n9xe1f', + props: { + style: { + backgroundColor: '#ffffff', + paddingBottom: '24px', + display: 'flex', + flexDirection: 'row', + justifyContent: 'flex-end', + }, }, - "children": [ + children: [ { - "componentName": "Button", - "id": "node_dockd5nrh9p4", - "props": { - "type": "primary", - "size": "medium", - "htmlType": "button", - "component": "button", - "children": "新建配置", - "style": {}, - "__events": [ + componentName: 'Button', + id: 'node_dockd5nrh9p4', + props: { + type: 'primary', + size: 'medium', + htmlType: 'button', + component: 'button', + children: '新建配置', + style: {}, + __events: [ { - "type": "componentEvent", - "name": "onClick", - "relatedEventName": "onClick" - } + type: 'componentEvent', + name: 'onClick', + relatedEventName: 'onClick', + }, ], - "onClick": { - "type": "JSFunction", - "value": "function(){ this.onClick() }" - } - } - } - ] + onClick: { + type: 'JSFunction', + value: 'function(){ this.onClick() }', + }, + }, + }, + ], }, { - "componentName": "Box", - "id": "node_dockd5nrh9p5", - "props": {}, - "children": [ + componentName: 'Box', + id: 'node_dockd5nrh9p5', + props: {}, + children: [ { - "componentName": "Table", - "id": "node_dockjielosj1", - "props": { - "showMiniPager": true, - "showActionBar": true, - "actionBar": [ + componentName: 'Table', + id: 'node_dockjielosj1', + props: { + showMiniPager: true, + showActionBar: true, + actionBar: [ { - "title": "新增", - "type": "primary" + title: '新增', + type: 'primary', }, { - "title": "编辑" - } + title: '编辑', + }, ], - "columns": [ + columns: [ { - "dataKey": "name", - "width": 200, - "align": "center", - "title": "姓名", - "editType": "text" + dataKey: 'name', + width: 200, + align: 'center', + title: '姓名', + editType: 'text', }, { - "dataKey": "age", - "width": 200, - "align": "center", - "title": "年龄" + dataKey: 'age', + width: 200, + align: 'center', + title: '年龄', }, { - "dataKey": "email", - "width": 200, - "align": "center", - "title": "邮箱" - } + dataKey: 'email', + width: 200, + align: 'center', + title: '邮箱', + }, ], - "data": [ + data: [ { - "name": "王小", - "id": "1", - "age": 15000, - "email": "aaa@abc.com" + name: '王小', + id: '1', + age: 15000, + email: 'aaa@abc.com', }, { - "name": "王中", - "id": "2", - "age": 25000, - "email": "bbb@abc.com" + name: '王中', + id: '2', + age: 25000, + email: 'bbb@abc.com', }, { - "name": "王大", - "id": "3", - "age": 35000, - "email": "ccc@abc.com" - } + name: '王大', + id: '3', + age: 35000, + email: 'ccc@abc.com', + }, ], - "actionTitle": "操作", - "actionWidth": 180, - "actionType": "link", - "actionFixed": "right", - "actionHidden": false, - "maxWebShownActionCount": 2, - "actionColumn": [ + actionTitle: '操作', + actionWidth: 180, + actionType: 'link', + actionFixed: 'right', + actionHidden: false, + maxWebShownActionCount: 2, + actionColumn: [ { - "title": "编辑", - "callback": { - "type": "JSFunction", - "value": "(rowData, action, table) => {\n return table.editRow(rowData).then((row) => {\n console.log(row);\n });\n }" + title: '编辑', + callback: { + type: 'JSFunction', + value: '(rowData, action, table) => {\n return table.editRow(rowData).then((row) => {\n console.log(row);\n });\n }', }, - "device": [ - "desktop" - ] + device: [ + 'desktop', + ], }, { - "title": "保存", - "callback": { - "type": "JSFunction", - "value": "(rowData, action, table) => { \nreturn table.saveRow(rowData).then((row) => { \nconsole.log(row); \n}); \n}" + title: '保存', + callback: { + type: 'JSFunction', + value: '(rowData, action, table) => { \nreturn table.saveRow(rowData).then((row) => { \nconsole.log(row); \n}); \n}', }, - "mode": "EDIT" - } - ] - } + mode: 'EDIT', + }, + ], + }, }, { - "componentName": "Box", - "id": "node_dockd5nrh9pg", - "props": { - "style": { - "display": "flex", - "flexDirection": "row", - "justifyContent": "flex-end" - } + componentName: 'Box', + id: 'node_dockd5nrh9pg', + props: { + style: { + display: 'flex', + flexDirection: 'row', + justifyContent: 'flex-end', + }, }, - "children": [ + children: [ { - "componentName": "Pagination", - "id": "node_dockd5nrh9pf", - "props": { - "prefix": "next-", - "type": "normal", - "shape": "normal", - "size": "medium", - "defaultCurrent": 1, - "total": 100, - "pageShowCount": 5, - "pageSize": 10, - "pageSizePosition": "start", - "showJump": true, - "style": {} - } - } - ] - } - ] - } - ] + componentName: 'Pagination', + id: 'node_dockd5nrh9pf', + props: { + prefix: 'next-', + type: 'normal', + shape: 'normal', + size: 'medium', + defaultCurrent: 1, + total: 100, + pageShowCount: 5, + pageSize: 10, + pageSizePosition: 'start', + showJump: true, + style: {}, + }, + }, + ], + }, + ], + }, + ], }, { - "componentName": "Dialog", - "id": "node_dockcy8n9xe1h", - "props": { - "prefix": "next-", - "footerAlign": "right", - "footerActions": [ - "ok", - "cancel" + componentName: 'Dialog', + id: 'node_dockcy8n9xe1h', + props: { + prefix: 'next-', + footerAlign: 'right', + footerActions: [ + 'ok', + 'cancel', ], - "closeable": "esc,close", - "hasMask": true, - "align": "cc cc", - "minMargin": 40, - "visible": { - "type": "JSExpression", - "value": "this.state.isShowDialog" + closeable: 'esc,close', + hasMask: true, + align: 'cc cc', + minMargin: 40, + visible: { + type: 'JSExpression', + value: 'this.state.isShowDialog', }, - "title": "标题", - "events": [], - "__events": [ + title: '标题', + events: [], + __events: [ { - "type": "componentEvent", - "name": "onCancel", - "relatedEventName": "closeDialog" + type: 'componentEvent', + name: 'onCancel', + relatedEventName: 'closeDialog', }, { - "type": "componentEvent", - "name": "onClose", - "relatedEventName": "closeDialog" + type: 'componentEvent', + name: 'onClose', + relatedEventName: 'closeDialog', }, { - "type": "componentEvent", - "name": "onOk", - "relatedEventName": "testFunc" - } + type: 'componentEvent', + name: 'onOk', + relatedEventName: 'testFunc', + }, ], - "onCancel": { - "type": "JSFunction", - "value": "function(){ this.closeDialog() }" + onCancel: { + type: 'JSFunction', + value: 'function(){ this.closeDialog() }', }, - "onClose": { - "type": "JSFunction", - "value": "function(){ this.closeDialog() }" + onClose: { + type: 'JSFunction', + value: 'function(){ this.closeDialog() }', + }, + onOk: { + type: 'JSFunction', + value: 'function(){ this.testFunc() }', }, - "onOk": { - "type": "JSFunction", - "value": "function(){ this.testFunc() }" - } }, - "children": [ + children: [ { - "componentName": "Form", - "id": "node_dockd5nrh9pi", - "props": { - "inline": false, - "labelAlign": "top", - "labelTextAlign": "right", - "size": "medium" + componentName: 'Form', + id: 'node_dockd5nrh9pi', + props: { + inline: false, + labelAlign: 'top', + labelTextAlign: 'right', + size: 'medium', }, - "children": [ + children: [ { - "componentName": "Form.Item", - "id": "node_dockd5nrh9pj", - "props": { - "style": { - "marginBottom": "0", - "minWidth": "200px", - "minHeight": "28px" + componentName: 'Form.Item', + id: 'node_dockd5nrh9pj', + props: { + style: { + marginBottom: '0', + minWidth: '200px', + minHeight: '28px', }, - "label": "商品类目" + label: '商品类目', }, - "children": [ + children: [ { - "componentName": "Select", - "id": "node_dockd5nrh9pk", - "props": { - "mode": "single", - "hasArrow": true, - "cacheValue": true - } - } - ] + componentName: 'Select', + id: 'node_dockd5nrh9pk', + props: { + mode: 'single', + hasArrow: true, + cacheValue: true, + }, + }, + ], }, { - "componentName": "Form.Item", - "id": "node_dockd5nrh9pl", - "props": { - "style": { - "marginBottom": "0", - "minWidth": "200px", - "minHeight": "28px" + componentName: 'Form.Item', + id: 'node_dockd5nrh9pl', + props: { + style: { + marginBottom: '0', + minWidth: '200px', + minHeight: '28px', }, - "label": "商品类目" + label: '商品类目', }, - "children": [ + children: [ { - "componentName": "Select", - "id": "node_dockd5nrh9pm", - "props": { - "mode": "single", - "hasArrow": true, - "cacheValue": true - } - } - ] + componentName: 'Select', + id: 'node_dockd5nrh9pm', + props: { + mode: 'single', + hasArrow: true, + cacheValue: true, + }, + }, + ], }, { - "componentName": "Form.Item", - "id": "node_dockd5nrh9pn", - "props": { - "style": { - "marginBottom": "0", - "minWidth": "200px", - "minHeight": "28px" + componentName: 'Form.Item', + id: 'node_dockd5nrh9pn', + props: { + style: { + marginBottom: '0', + minWidth: '200px', + minHeight: '28px', }, - "label": "商品类目", - "asterisk": true + label: '商品类目', + asterisk: true, }, - "children": [ + children: [ { - "componentName": "Select", - "id": "node_dockd5nrh9po", - "props": { - "mode": "single", - "hasArrow": true, - "cacheValue": true - } - } - ] + componentName: 'Select', + id: 'node_dockd5nrh9po', + props: { + mode: 'single', + hasArrow: true, + cacheValue: true, + }, + }, + ], }, { - "componentName": "Form.Item", - "id": "node_dockd5nrh9pp", - "props": { - "style": { - "marginBottom": "0", - "minWidth": "200px", - "minHeight": "28px" + componentName: 'Form.Item', + id: 'node_dockd5nrh9pp', + props: { + style: { + marginBottom: '0', + minWidth: '200px', + minHeight: '28px', }, - "label": "商品类目" + label: '商品类目', }, - "children": [ + children: [ { - "componentName": "Input", - "id": "node_dockd5nrh9pr", - "props": { - "hasBorder": true, - "size": "medium", - "autoComplete": "off" - } + componentName: 'Input', + id: 'node_dockd5nrh9pr', + props: { + hasBorder: true, + size: 'medium', + autoComplete: 'off', + }, }, - ] + ], }, - ] + ], }, - ] + ], }, { - "componentName": "ErrorComponent", - "id": "node_dockd5nrh9pr", - "props": { - "name": "error" - } - } - ] -} \ No newline at end of file + componentName: 'ErrorComponent', + id: 'node_dockd5nrh9pr', + props: { + name: 'error', + }, + }, + ], +}; diff --git a/packages/react-simulator-renderer/src/renderer-view.tsx b/packages/react-simulator-renderer/src/renderer-view.tsx index 9c1505e02..9ba3e1c1b 100644 --- a/packages/react-simulator-renderer/src/renderer-view.tsx +++ b/packages/react-simulator-renderer/src/renderer-view.tsx @@ -103,7 +103,7 @@ class Layout extends Component<{ rendererContainer: SimulatorRendererContainer } render() { const { rendererContainer, children } = this.props; - const layout = rendererContainer.layout; + const { layout } = rendererContainer; if (layout) { const { Component, props, componentName } = layout; if (Component) { @@ -128,8 +128,8 @@ class Layout extends Component<{ rendererContainer: SimulatorRendererContainer } @observer class Renderer extends Component<{ - rendererContainer: SimulatorRendererContainer; - documentInstance: DocumentInstance } + rendererContainer: SimulatorRendererContainer; + documentInstance: DocumentInstance } > { shouldComponentUpdate() { return false; @@ -205,9 +205,9 @@ class Renderer extends Component<{ onCompGetRef={(schema: any, ref: ReactInstance | null) => { documentInstance.mountInstance(schema.id, ref); }} - //onCompGetCtx={(schema: any, ctx: object) => { + // onCompGetCtx={(schema: any, ctx: object) => { // documentInstance.mountContext(schema.id, ctx); - //}} + // }} /> ); } diff --git a/packages/react-simulator-renderer/src/renderer.less b/packages/react-simulator-renderer/src/renderer.less index b2af3a228..aed023f1b 100644 --- a/packages/react-simulator-renderer/src/renderer.less +++ b/packages/react-simulator-renderer/src/renderer.less @@ -80,7 +80,7 @@ body.engine-document { .engine-live-editing { cursor: text; outline: none; - box-shadow: 0 0 0px 2px rgb(102, 188, 92); + box-shadow: 0 0 0 2px rgb(102, 188, 92); user-select: text; } diff --git a/packages/react-simulator-renderer/src/renderer.ts b/packages/react-simulator-renderer/src/renderer.ts index 18a841193..991172974 100644 --- a/packages/react-simulator-renderer/src/renderer.ts +++ b/packages/react-simulator-renderer/src/renderer.ts @@ -96,7 +96,7 @@ export class DocumentInstance { } get path(): string { - return '/' + this.document.fileName; + return `/${ this.document.fileName}`; } get id() { @@ -116,7 +116,7 @@ export class DocumentInstance { mountInstance(id: string, instance: ReactInstance | null) { const docId = this.document.id; - const instancesMap = this.instancesMap; + const { instancesMap } = this; if (instance == null) { let instances = this.instancesMap.get(id); if (instances) { @@ -265,7 +265,7 @@ export class SimulatorRendererContainer implements BuiltinSimulatorRenderer { }, legaoBuiltins: { getUrlParams() { - const search = history.location.search; + const { search } = history.location; return parseQuery(search); }, }, @@ -343,9 +343,9 @@ export class SimulatorRendererContainer implements BuiltinSimulatorRenderer { /** * 加载资源 */ - load(asset: Asset): Promise { - return loader.load(asset); - } + // load(asset: Asset): Promise { + // return loader.load(asset); + // } getComponent(componentName: string) { const paths = componentName.split('.'); @@ -364,8 +364,6 @@ export class SimulatorRendererContainer implements BuiltinSimulatorRenderer { subs.unshift(sub); componentName = paths.join('.'); } - - return null; } getClosestNodeInstance(from: ReactInstance, nodeId?: string): NodeInstance | null { @@ -437,7 +435,7 @@ export class SimulatorRendererContainer implements BuiltinSimulatorRenderer { }; viewProps._leaf = _leaf; return createElement(Comp, viewProps, children); - } + }, }); } } diff --git a/packages/renderer-core/src/adapter/index.ts b/packages/renderer-core/src/adapter/index.ts index cafd9bd06..250f68a3f 100644 --- a/packages/renderer-core/src/adapter/index.ts +++ b/packages/renderer-core/src/adapter/index.ts @@ -7,9 +7,13 @@ export enum Env { class Adapter { runtime: IRuntime; + builtinModules = ['Component', 'PureComponent', 'createElement', 'createContext', 'forwardRef', 'findDOMNode']; + env: Env; + renderers: IRendererModules; + configProvider: any; constructor() { diff --git a/packages/renderer-core/src/components/VisualDom/index.tsx b/packages/renderer-core/src/components/VisualDom/index.tsx index 69ce2add9..3d31af03f 100644 --- a/packages/renderer-core/src/components/VisualDom/index.tsx +++ b/packages/renderer-core/src/components/VisualDom/index.tsx @@ -26,9 +26,7 @@ export default function visualDomFactory() { [ createElement('span', { className: 'title' }, title || label || text || __componentName), createElement('div', { className: 'content' }, mainContent), - ] - ) - ); + ])); } }; } diff --git a/packages/renderer-core/src/hoc/index.tsx b/packages/renderer-core/src/hoc/index.tsx index 5e1714a63..e8745f5e9 100644 --- a/packages/renderer-core/src/hoc/index.tsx +++ b/packages/renderer-core/src/hoc/index.tsx @@ -3,9 +3,9 @@ import adapter from '../adapter'; export function compWrapper(Comp: any) { const { createElement, Component, forwardRef } = adapter.getRuntime(); class Wrapper extends Component { - constructor(props: any, context: any) { - super(props, context) - } + // constructor(props: any, context: any) { + // super(props, context); + // } render() { const { forwardRef } = this.props; diff --git a/packages/renderer-core/src/renderer/addon.tsx b/packages/renderer-core/src/renderer/addon.tsx index eca712b74..4e2a7ca25 100644 --- a/packages/renderer-core/src/renderer/addon.tsx +++ b/packages/renderer-core/src/renderer/addon.tsx @@ -7,6 +7,7 @@ export default function addonRendererFactory() { const BaseRenderer = baseRendererFactory(); return class AddonRenderer extends BaseRenderer { static dislayName = 'addon-renderer'; + __namespace = 'addon'; static propTypes = { diff --git a/packages/renderer-core/src/renderer/base.tsx b/packages/renderer-core/src/renderer/base.tsx index 11638f71a..e08531a3e 100644 --- a/packages/renderer-core/src/renderer/base.tsx +++ b/packages/renderer-core/src/renderer/base.tsx @@ -26,7 +26,7 @@ import { capitalizeFirstLetter, DataHelper, isI18n, - isVariable + isVariable, } from '../utils'; import { IRendererProps, ISchema, IInfo, ComponentModel, IRenderer } from '../types'; import { compWrapper } from '../hoc'; @@ -72,7 +72,7 @@ export default function baseRenererFactory() { this.__debug(`constructor - ${props?.__schema?.fileName}`); } - __beforeInit(props: IRendererProps) { } + __beforeInit(/* props: IRendererProps */) { } __init(props: IRendererProps) { this.appHelper = props.__appHelper; @@ -82,7 +82,7 @@ export default function baseRenererFactory() { this.__initI18nAPIs(); } - __afterInit(props: IRendererProps) { } + __afterInit(/* props: IRendererProps */) { } static getDerivedStateFromProps(props: IRendererProps, state: any) { debug('getDerivedStateFromProps'); @@ -470,7 +470,7 @@ export default function baseRenererFactory() { } let child: any = null; - if (/*!isFileSchema(schema) && */!!_children) { + if (/*! isFileSchema(schema) && */_children) { child = this.__createVirtualDom( isJSExpression(_children) ? parseExpression(_children, self) : _children, self, @@ -527,7 +527,7 @@ export default function baseRenererFactory() { if (!Array.isArray(schema.loop)) return null; const itemArg = (schema.loopArgs && schema.loopArgs[0]) || 'item'; const indexArg = (schema.loopArgs && schema.loopArgs[1]) || 'index'; - return schema.loop.map((item: Array, i: number) => { + return schema.loop.map((item: string[], i: number) => { const loopSelf: any = { [itemArg]: item, [indexArg]: i, @@ -679,13 +679,13 @@ export default function baseRenererFactory() { __initDebug = () => { this.__logger = Debug(`renderer:${this.__namespace || 'base'}`); - } + }; - __debug = (msg: string = '') => { + __debug = (msg = '') => { if (this.__logger) { this.__logger(`${this.__namespace}.${msg}`); } - } + }; __renderContextProvider = (customProps?: object, children?: any) => { customProps = customProps || {}; @@ -695,13 +695,14 @@ export default function baseRenererFactory() { ...this.context, blockContext: this, ...customProps, - }, children + }, + children, }); - } + }; __renderContextConsumer = (children: any) => { return createElement(AppContext.Consumer, {}, children); - } + }; __renderComp(Comp: any, ctxProps: object) { const { __schema } = this.props; @@ -744,8 +745,8 @@ export default function baseRenererFactory() { const buitin = capitalizeFirstLetter(this.__namespace); const componentNames = [buitin, ...extraComponents]; - return !isSchema(schema, true) || !componentNames.includes(schema.componentName) - } + return !isSchema(schema, true) || !componentNames.includes(schema.componentName); + }; get requestHandlersMap() { return this.appHelper?.requestHandlersMap; diff --git a/packages/renderer-core/src/renderer/block.tsx b/packages/renderer-core/src/renderer/block.tsx index 2579a0d84..599410c4d 100644 --- a/packages/renderer-core/src/renderer/block.tsx +++ b/packages/renderer-core/src/renderer/block.tsx @@ -1,12 +1,11 @@ -import classnames from 'classnames'; import baseRendererFactory from './base'; import { IRendererProps } from '../types'; -import { getFileCssName } from '../utils'; export default function blockRendererFactory() { const BaseRenderer = baseRendererFactory(); return class BlockRenderer extends BaseRenderer { static dislayName = 'block-renderer'; + __namespace = 'block'; __afterInit(props: IRendererProps) { diff --git a/packages/renderer-core/src/renderer/component.tsx b/packages/renderer-core/src/renderer/component.tsx index f9cb0fd21..685514ab1 100644 --- a/packages/renderer-core/src/renderer/component.tsx +++ b/packages/renderer-core/src/renderer/component.tsx @@ -5,6 +5,7 @@ export default function componentRendererFactory() { const BaseRenderer = baseRendererFactory(); return class CompRenderer extends BaseRenderer { static dislayName = 'comp-renderer'; + __namespace = 'component'; __afterInit(props: IRendererProps) { diff --git a/packages/renderer-core/src/renderer/page.tsx b/packages/renderer-core/src/renderer/page.tsx index 354576425..3c7be518f 100644 --- a/packages/renderer-core/src/renderer/page.tsx +++ b/packages/renderer-core/src/renderer/page.tsx @@ -6,6 +6,7 @@ export default function pageRendererFactory() { const BaseRenderer = baseRendererFactory(); return class PageRenderer extends BaseRenderer { static dislayName = 'page-renderer'; + __namespace = 'page'; __afterInit(props: IRendererProps) { diff --git a/packages/renderer-core/src/renderer/renderer.tsx b/packages/renderer-core/src/renderer/renderer.tsx index 6cba11f89..e444e7610 100644 --- a/packages/renderer-core/src/renderer/renderer.tsx +++ b/packages/renderer-core/src/renderer/renderer.tsx @@ -173,7 +173,7 @@ export default function rendererFactory() { appHelper, components: allComponents, engine: this, - }}, createElement(ConfigProvider, {device: this.props.device}, createElement(Comp, { + } }, createElement(ConfigProvider, { device: this.props.device }, createElement(Comp, { key: schema.__ctx && `${schema.__ctx.lceKey}_${schema.__ctx.idx || '0'}`, ref: this.__getRef, __appHelper: appHelper, diff --git a/packages/renderer-core/src/renderer/temp.tsx b/packages/renderer-core/src/renderer/temp.tsx index 0bcd3e6d6..fc3e3c48d 100644 --- a/packages/renderer-core/src/renderer/temp.tsx +++ b/packages/renderer-core/src/renderer/temp.tsx @@ -5,6 +5,7 @@ export default function tempRendererFactory() { return class TempRenderer extends BaseRenderer { static dislayName = 'temp-renderer'; + __namespace = 'temp'; __init() { diff --git a/packages/renderer-core/src/utils/common.ts b/packages/renderer-core/src/utils/common.ts index ec2ec4eb4..bdad9b93f 100644 --- a/packages/renderer-core/src/utils/common.ts +++ b/packages/renderer-core/src/utils/common.ts @@ -234,7 +234,7 @@ export function goldlog(gmKey: string, params = {}, logKey = 'other') { } // utils为编辑器打包生成的utils文件内容,utilsConfig为数据库存放的utils配置 -export function generateUtils(utils: any, utilsConfig: { name: string; type: string; content: any }[]) { +export function generateUtils(utils: any, utilsConfig: Array<{ name: string; type: string; content: any }>) { if (!Array.isArray(utilsConfig)) return { ...utils }; const res: any = {}; utilsConfig.forEach((item) => { diff --git a/packages/renderer-core/src/utils/dataHelper.ts b/packages/renderer-core/src/utils/dataHelper.ts index a47f18f24..f6f6c88ca 100644 --- a/packages/renderer-core/src/utils/dataHelper.ts +++ b/packages/renderer-core/src/utils/dataHelper.ts @@ -12,11 +12,17 @@ const DS_STATUS = { export class DataHelper { host: any; + config: DataSource; + parser: any; + ajaxList: any[]; + ajaxMap: any; + dataSourceMap: any; + appHelper: any; constructor(comp: any, config: DataSource, appHelper: any, parser: any) { @@ -164,7 +170,7 @@ export class DataHelper { asyncDataHandler(asyncDataList: any[]) { return new Promise((resolve, reject) => { const allReq = []; - const doserReq: {name: string; package: string; params: any }[] = []; + const doserReq: Array<{name: string; package: string; params: any }> = []; const doserList: string[] = []; const beforeRequest = this.appHelper && this.appHelper.utils && this.appHelper.utils.beforeRequest; const afterRequest = this.appHelper && this.appHelper.utils && this.appHelper.utils.afterRequest; diff --git a/packages/utils/src/cursor.less b/packages/utils/src/cursor.less index a451db895..30c890862 100644 --- a/packages/utils/src/cursor.less +++ b/packages/utils/src/cursor.less @@ -1,5 +1,5 @@ html.lc-cursor-dragging, html.lc-cursor-dragging * { - cursor: move !important + cursor: move !important; } html.lc-cursor-x-resizing, html.lc-cursor-x-resizing * { @@ -11,5 +11,5 @@ html.lc-cursor-y-resizing, html.lc-cursor-y-resizing * { } html.lc-cursor-copy, html.lc-cursor-copy * { - cursor: copy !important + cursor: copy !important; } diff --git a/packages/utils/src/index.ts b/packages/utils/src/index.ts index e5dd40da3..c78274e14 100644 --- a/packages/utils/src/index.ts +++ b/packages/utils/src/index.ts @@ -20,4 +20,4 @@ export * from './svg-icon'; export * from './unique-id'; export * from './build-components'; export * from './appHelper'; -export * from './misc'; \ No newline at end of file +export * from './misc'; diff --git a/packages/utils/src/is-object.ts b/packages/utils/src/is-object.ts index 1d1646108..50b580e5a 100644 --- a/packages/utils/src/is-object.ts +++ b/packages/utils/src/is-object.ts @@ -4,4 +4,4 @@ export function isObject(value: any): value is Record { export function isI18NObject(value: any): boolean { return isObject(value) && value.type === 'i18n'; -} \ No newline at end of file +} diff --git a/packages/vision-polyfill/src/fields/fields.less b/packages/vision-polyfill/src/fields/fields.less index c02417425..951654da2 100644 --- a/packages/vision-polyfill/src/fields/fields.less +++ b/packages/vision-polyfill/src/fields/fields.less @@ -177,7 +177,7 @@ } &.engine-block-field { - >.engine-field-head{ + >.engine-field-head { > .engine-field-title { letter-spacing: 1px; } diff --git a/packages/vision-polyfill/src/pages.ts b/packages/vision-polyfill/src/pages.ts index 03adf54a4..74b87a3a8 100644 --- a/packages/vision-polyfill/src/pages.ts +++ b/packages/vision-polyfill/src/pages.ts @@ -43,18 +43,16 @@ const pages = Object.assign(project, { componentsTree.push(item.componentsTree[0]); } }); + } else if (isPageDataV1(pages[0])) { + componentsTree = [pages[0].layout]; } else { - if (isPageDataV1(pages[0])) { - componentsTree = [pages[0].layout]; - } else { - // if (!pages[0].componentsTree) return; - componentsTree = pages[0].componentsTree; - if (componentsTree[0]) { - componentsTree[0].componentName = componentsTree[0].componentName || 'Page'; - // FIXME - if (componentsTree[0].componentName === 'Page' || componentsTree[0].componentName === 'Component') { - componentsTree[0].methods = {}; - } + // if (!pages[0].componentsTree) return; + componentsTree = pages[0].componentsTree; + if (componentsTree[0]) { + componentsTree[0].componentName = componentsTree[0].componentName || 'Page'; + // FIXME + if (componentsTree[0].componentName === 'Page' || componentsTree[0].componentName === 'Component') { + componentsTree[0].methods = {}; } } } diff --git a/packages/vision-polyfill/src/props-reducers/filter-reducer.ts b/packages/vision-polyfill/src/props-reducers/filter-reducer.ts index 9713537f6..f72f39bc7 100644 --- a/packages/vision-polyfill/src/props-reducers/filter-reducer.ts +++ b/packages/vision-polyfill/src/props-reducers/filter-reducer.ts @@ -23,4 +23,4 @@ export function filterReducer(props: any, node: Node): any { return newProps; } return props; -} \ No newline at end of file +} diff --git a/packages/vision-polyfill/src/props-reducers/live-lifecycle-reducer.ts b/packages/vision-polyfill/src/props-reducers/live-lifecycle-reducer.ts index a5f7923e7..7bb606934 100644 --- a/packages/vision-polyfill/src/props-reducers/live-lifecycle-reducer.ts +++ b/packages/vision-polyfill/src/props-reducers/live-lifecycle-reducer.ts @@ -13,7 +13,7 @@ export function liveLifecycleReducer(props: any, node: Node) { didMount: 'componentDidMount', willUnmount: 'componentWillUnMount', }; - const lifeCycles = props.lifeCycles; + const { lifeCycles } = props; Object.keys(lifeCycleMap).forEach(key => { if (lifeCycles[key]) { lifeCycles[lifeCycleMap[key]] = lifeCycles[key]; @@ -27,4 +27,4 @@ export function liveLifecycleReducer(props: any, node: Node) { }; } return props; -} \ No newline at end of file +} diff --git a/packages/vision-polyfill/src/props-reducers/node-top-fixed-reducer.ts b/packages/vision-polyfill/src/props-reducers/node-top-fixed-reducer.ts index 194496a9c..08563cea0 100644 --- a/packages/vision-polyfill/src/props-reducers/node-top-fixed-reducer.ts +++ b/packages/vision-polyfill/src/props-reducers/node-top-fixed-reducer.ts @@ -9,4 +9,4 @@ export function nodeTopFixedReducer(props: any, node: Node) { }; } return props; -} \ No newline at end of file +} diff --git a/packages/vision-polyfill/src/props-reducers/style-reducer.ts b/packages/vision-polyfill/src/props-reducers/style-reducer.ts index c1a1425fa..9b74f2af7 100644 --- a/packages/vision-polyfill/src/props-reducers/style-reducer.ts +++ b/packages/vision-polyfill/src/props-reducers/style-reducer.ts @@ -45,4 +45,4 @@ function appendStyleNode(props: any, styleProp: any, cssClass: string, cssId: st return `${b / 2}px`; }).replace(/:root/g, `.${cssClass}`))); } -} \ No newline at end of file +} diff --git a/packages/vision-polyfill/src/utils/index.ts b/packages/vision-polyfill/src/utils/index.ts index 67a2ca579..b80a66a64 100644 --- a/packages/vision-polyfill/src/utils/index.ts +++ b/packages/vision-polyfill/src/utils/index.ts @@ -24,7 +24,7 @@ export function getCurrentFieldIds() { export function invariant(check: any, message: string, thing?: any) { if (!check) { - throw new Error('Invariant failed: ' + message + (thing ? ` in '${thing}'` : '')); + throw new Error(`Invariant failed: ${ message }${thing ? ` in '${thing}'` : ''}`); } } diff --git a/packages/vision-polyfill/src/vision.less b/packages/vision-polyfill/src/vision.less index fdf1c737b..772cbe207 100644 --- a/packages/vision-polyfill/src/vision.less +++ b/packages/vision-polyfill/src/vision.less @@ -1,13 +1,13 @@ html.engine-cursor-move, html.engine-cursor-move * { - cursor: grabbing !important + cursor: grabbing !important; } html.engine-cursor-copy, html.engine-cursor-copy * { - cursor: copy !important + cursor: copy !important; } html.engine-cursor-ew-resize, html.engine-cursor-ew-resize * { - cursor: ew-resize !important + cursor: ew-resize !important; } body, #engine { @@ -107,7 +107,7 @@ html.engine-blur #engine { // font-size: 14px; // } -html.engine-preview-mode { +html.engine-preview-mode { .lc-left-area, .lc-right-area { display: none !important; } @@ -124,5 +124,5 @@ html.engine-preview-mode { } .lc-setter-mixed { - flex: 1 + flex: 1; } diff --git a/packages/vision-polyfill/tests/fixtures/window.ts b/packages/vision-polyfill/tests/fixtures/window.ts index b5886ad6d..adba16c13 100644 --- a/packages/vision-polyfill/tests/fixtures/window.ts +++ b/packages/vision-polyfill/tests/fixtures/window.ts @@ -5,4 +5,4 @@ React.PropTypes = PropTypes; window.React = React; document.documentElement.requestFullscreen = () => {}; -document.exitFullscreen = () => {}; \ No newline at end of file +document.exitFullscreen = () => {}; diff --git a/packages/vision-polyfill/tests/master/drag-engine.test.ts b/packages/vision-polyfill/tests/master/drag-engine.test.ts index cd3d8c5c1..335dad6da 100644 --- a/packages/vision-polyfill/tests/master/drag-engine.test.ts +++ b/packages/vision-polyfill/tests/master/drag-engine.test.ts @@ -62,7 +62,7 @@ describe('drag-engine 测试', () => { designer.dragon.emitter.emit('drag', { dragObject: { - nodes: [designer.currentDocument?.getNode('node_k1ow3cbo')] + nodes: [designer.currentDocument?.getNode('node_k1ow3cbo')], }, originalEvent: mousedownEvt, }); @@ -72,7 +72,7 @@ describe('drag-engine 测试', () => { designer.dragon.emitter.emit('dragend', { dragObject: { - nodes: [designer.currentDocument?.getNode('node_k1ow3cbo')] + nodes: [designer.currentDocument?.getNode('node_k1ow3cbo')], }, originalEvent: mousedownEvt, }); @@ -102,7 +102,7 @@ describe('drag-engine 测试', () => { designer.dragon.emitter.emit('drag', { dragObject: { - nodes: [designer.currentDocument?.getNode('node_k1ow3cbo')] + nodes: [designer.currentDocument?.getNode('node_k1ow3cbo')], }, originalEvent: mousedownEvt, }); @@ -111,7 +111,7 @@ describe('drag-engine 测试', () => { designer.dragon.emitter.emit('dragend', { dragObject: { - nodes: [designer.currentDocument?.getNode('node_k1ow3cbo')] + nodes: [designer.currentDocument?.getNode('node_k1ow3cbo')], }, originalEvent: mousedownEvt, }); @@ -141,7 +141,7 @@ describe('drag-engine 测试', () => { designer.dragon.emitter.emit('drag', { dragObject: { - nodes: [designer.currentDocument?.getNode('node_k1ow3cbo')] + nodes: [designer.currentDocument?.getNode('node_k1ow3cbo')], }, originalEvent: mousedownEvt, }); diff --git a/packages/vision-polyfill/tests/vision-api/api-export.test.ts b/packages/vision-polyfill/tests/vision-api/api-export.test.ts index 8da131447..699c2f0a5 100644 --- a/packages/vision-polyfill/tests/vision-api/api-export.test.ts +++ b/packages/vision-polyfill/tests/vision-api/api-export.test.ts @@ -84,4 +84,4 @@ describe('API 多种导出场景测试', () => { expect(VisualEngine.logger).toBe(logger); expect(VisualEngine.Symbols).toBe(Symbols); }); -}); \ No newline at end of file +}); diff --git a/packages/vision-polyfill/tests/vision-api/project.test.ts b/packages/vision-polyfill/tests/vision-api/project.test.ts index bec071d51..fa89ec9e6 100644 --- a/packages/vision-polyfill/tests/vision-api/project.test.ts +++ b/packages/vision-polyfill/tests/vision-api/project.test.ts @@ -14,7 +14,6 @@ describe('VisualEngine.Project 相关 API 测试', () => { componentsMap: {}, componentsTree: [formSchema], }); - }); it('setConfig', () => {