feat(editor): 组件树中支持多选拖动
This commit is contained in:
@@ -136,3 +136,55 @@ describe('getRelativeStyle', () => {
|
||||
expect(style?.color).toBe('red');
|
||||
});
|
||||
});
|
||||
|
||||
describe('moveItemsInContainer', () => {
|
||||
test('向下移动', () => {
|
||||
const container = { id: 1, type: NodeType.CONTAINER, items: [{ id: 2 }, { id: 3 }, { id: 4 }] };
|
||||
editor.moveItemsInContainer([0], container, 0);
|
||||
expect(container.items[0].id).toBe(2);
|
||||
editor.moveItemsInContainer([0], container, 1);
|
||||
expect(container.items[0].id).toBe(2);
|
||||
editor.moveItemsInContainer([0], container, 2);
|
||||
expect(container.items[0].id).toBe(3);
|
||||
expect(container.items[1].id).toBe(2);
|
||||
expect(container.items[2].id).toBe(4);
|
||||
});
|
||||
test('向下移动到最后', () => {
|
||||
const container = { id: 1, type: NodeType.CONTAINER, items: [{ id: 2 }, { id: 3 }, { id: 4 }] };
|
||||
editor.moveItemsInContainer([0], container, 3);
|
||||
expect(container.items[0].id).toBe(3);
|
||||
expect(container.items[1].id).toBe(4);
|
||||
expect(container.items[2].id).toBe(2);
|
||||
});
|
||||
|
||||
test('向上移动', () => {
|
||||
const container = { id: 1, type: NodeType.CONTAINER, items: [{ id: 2 }, { id: 3 }, { id: 4 }] };
|
||||
editor.moveItemsInContainer([2], container, 3);
|
||||
expect(container.items[2].id).toBe(4);
|
||||
editor.moveItemsInContainer([2], container, 2);
|
||||
expect(container.items[2].id).toBe(4);
|
||||
editor.moveItemsInContainer([2], container, 1);
|
||||
expect(container.items[0].id).toBe(2);
|
||||
expect(container.items[1].id).toBe(4);
|
||||
expect(container.items[2].id).toBe(3);
|
||||
});
|
||||
test('向上移动到最后', () => {
|
||||
const container = { id: 1, type: NodeType.CONTAINER, items: [{ id: 2 }, { id: 3 }, { id: 4 }] };
|
||||
editor.moveItemsInContainer([2], container, 0);
|
||||
expect(container.items[0].id).toBe(4);
|
||||
expect(container.items[1].id).toBe(2);
|
||||
expect(container.items[2].id).toBe(3);
|
||||
});
|
||||
|
||||
test('移动多个', () => {
|
||||
const container = {
|
||||
id: 1,
|
||||
type: NodeType.CONTAINER,
|
||||
items: [{ id: 2 }, { id: 3 }, { id: 4 }, { id: 5 }, { id: 6 }, { id: 7 }],
|
||||
};
|
||||
editor.moveItemsInContainer([0, 5], container, 0);
|
||||
expect(container.items[0].id).toBe(2);
|
||||
expect(container.items[1].id).toBe(7);
|
||||
expect(container.items[2].id).toBe(3);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user