Skip to content

Commit

Permalink
Merge pull request #141 from alibaba/fix/loopArgs
Browse files Browse the repository at this point in the history
Fix/loop args
  • Loading branch information
JackLian authored Mar 17, 2022
2 parents c54f369 + d2c3f0b commit d4de1cc
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 5 deletions.
8 changes: 6 additions & 2 deletions packages/designer/src/document/node/props/prop.ts
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,7 @@ export class Prop implements IPropParent {
const v = prop.export(stage);
if (v != null) {
maps = maps || {};
maps[prop.key || key] = prop.export(stage);
maps[prop.key || key] = v;
}
}
});
Expand All @@ -170,9 +170,13 @@ export class Prop implements IPropParent {
if (!this._items) {
return this._value;
}
return this.items!.map((prop) => {
const values = this.items!.map((prop) => {
return prop.export(stage);
});
if (values.every(val => val === undefined)) {
return undefined;
}
return values;
}
}

Expand Down
7 changes: 4 additions & 3 deletions packages/designer/tests/document/node/node.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ import rootHeaderMetadata from '../../fixtures/component-metadata/root-header';
import rootContentMetadata from '../../fixtures/component-metadata/root-content';
import rootFooterMetadata from '../../fixtures/component-metadata/root-footer';

describe.skip('Node 方法测试', () => {
describe('Node 方法测试', () => {
let editor: Editor;
let designer: Designer;
let project: Project;
Expand Down Expand Up @@ -474,15 +474,16 @@ describe.skip('Node 方法测试', () => {
it('didDropIn / didDropOut', () => {
const form = doc.getNode('node_k1ow3cbo');
designer.createComponentMeta(divMetadata);
designer.createComponentMeta(formMetadata);
const callbacks = form.componentMeta.getMetadata().configure.advanced?.callbacks;
const fn1 = callbacks.onNodeAdd = jest.fn();
const fn2 = callbacks.onNodeRemove = jest.fn();
const textField = doc.getNode('node_k1ow3cc9');
form.didDropIn(textField);
expect(fn1).toHaveBeenCalledWith(textField, form);
expect(fn1).toHaveBeenCalledWith(textField.internalToShellNode(), form.internalToShellNode());

form.didDropOut(textField);
expect(fn2).toHaveBeenCalledWith(textField, form);
expect(fn2).toHaveBeenCalledWith(textField.internalToShellNode(), form.internalToShellNode());
});

it('hover', () => {
Expand Down
5 changes: 5 additions & 0 deletions packages/designer/tests/document/node/props/prop.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -430,6 +430,11 @@ describe('Prop 类测试', () => {
// illegal
// expect(prop.set(5, 1)).toBeNull();
});

it('should return undefined when all items are undefined', () => {
prop = new Prop(mockedPropsInst, [undefined, undefined], '___loopArgs___');
expect(prop.getValue()).toBeUndefined();
});
});
});

Expand Down

0 comments on commit d4de1cc

Please sign in to comment.