diff --git a/__tests__/snapshot/core/examples/test/circle.html.jpg b/__tests__/snapshot/core/examples/test/circle.html.jpg index bf0c058..f3ed118 100644 Binary files a/__tests__/snapshot/core/examples/test/circle.html.jpg and b/__tests__/snapshot/core/examples/test/circle.html.jpg differ diff --git a/__tests__/snapshot/core/examples/test/image.html.jpg b/__tests__/snapshot/core/examples/test/image.html.jpg index 5b1048e..d035ae8 100644 Binary files a/__tests__/snapshot/core/examples/test/image.html.jpg and b/__tests__/snapshot/core/examples/test/image.html.jpg differ diff --git a/__tests__/snapshot/core/examples/test/rect.html.jpg b/__tests__/snapshot/core/examples/test/rect.html.jpg index 458f827..f8fd549 100644 Binary files a/__tests__/snapshot/core/examples/test/rect.html.jpg and b/__tests__/snapshot/core/examples/test/rect.html.jpg differ diff --git a/__tests__/snapshot/core/examples/test/reset-size.html.jpg b/__tests__/snapshot/core/examples/test/reset-size.html.jpg index 34c6a85..f29302d 100644 Binary files a/__tests__/snapshot/core/examples/test/reset-size.html.jpg and b/__tests__/snapshot/core/examples/test/reset-size.html.jpg differ diff --git a/__tests__/snapshot/core/examples/test/scale-001.html.jpg b/__tests__/snapshot/core/examples/test/scale-001.html.jpg index a17bdf5..f2bb0bb 100644 Binary files a/__tests__/snapshot/core/examples/test/scale-001.html.jpg and b/__tests__/snapshot/core/examples/test/scale-001.html.jpg differ diff --git a/__tests__/snapshot/core/examples/test/scale-002.html.jpg b/__tests__/snapshot/core/examples/test/scale-002.html.jpg index 13e6ad4..24f5678 100644 Binary files a/__tests__/snapshot/core/examples/test/scale-002.html.jpg and b/__tests__/snapshot/core/examples/test/scale-002.html.jpg differ diff --git a/__tests__/snapshot/core/examples/test/scale-003.html.jpg b/__tests__/snapshot/core/examples/test/scale-003.html.jpg index 0f30e40..2f0d8af 100644 Binary files a/__tests__/snapshot/core/examples/test/scale-003.html.jpg and b/__tests__/snapshot/core/examples/test/scale-003.html.jpg differ diff --git a/__tests__/snapshot/core/examples/test/svg.html.jpg b/__tests__/snapshot/core/examples/test/svg.html.jpg index d37d8d9..71da3f8 100644 Binary files a/__tests__/snapshot/core/examples/test/svg.html.jpg and b/__tests__/snapshot/core/examples/test/svg.html.jpg differ diff --git a/__tests__/snapshot/core/examples/test/text.html.jpg b/__tests__/snapshot/core/examples/test/text.html.jpg index 32f98c7..3c529c0 100644 Binary files a/__tests__/snapshot/core/examples/test/text.html.jpg and b/__tests__/snapshot/core/examples/test/text.html.jpg differ diff --git a/__tests__/snapshot/core/examples/test/update-element-later.html.jpg b/__tests__/snapshot/core/examples/test/update-element-later.html.jpg index 7978f3b..01b7370 100644 Binary files a/__tests__/snapshot/core/examples/test/update-element-later.html.jpg and b/__tests__/snapshot/core/examples/test/update-element-later.html.jpg differ diff --git a/__tests__/snapshot/core/examples/test/update-element.html.jpg b/__tests__/snapshot/core/examples/test/update-element.html.jpg index 7978f3b..01b7370 100644 Binary files a/__tests__/snapshot/core/examples/test/update-element.html.jpg and b/__tests__/snapshot/core/examples/test/update-element.html.jpg differ diff --git a/docs/todo/core.md b/docs/todo/core.md index 3b5b67f..8e4d79b 100644 --- a/docs/todo/core.md +++ b/docs/todo/core.md @@ -1,5 +1,7 @@ # @idraw/core +* [] BUG: Type error about keyof TypeElemDesc +* [] BUG: Type error about TypeElement'uuid * [] Element default data * [] Support gradient color * [] Listen keyboard action diff --git a/packages/core/examples/features/lib/element.js b/packages/core/examples/features/lib/element.js index 39bd4c9..005a1b3 100644 --- a/packages/core/examples/features/lib/element.js +++ b/packages/core/examples/features/lib/element.js @@ -14,13 +14,13 @@ function renderElemens(core) { const data = core.getData(); const elems = data.elements; const items = []; - for (let i = 0; i < elems.length; i ++) { + for (let i = elems.length - 1; i >= 0; i --) { const ele = elems[i]; items.push(`
${ele.name || 'Unnamed'} - Up - Down + Up + Down Lock
`); diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts index 839d395..32375df 100644 --- a/packages/core/src/index.ts +++ b/packages/core/src/index.ts @@ -107,8 +107,10 @@ class Core { } else { this[_mode] = Mode.NULL; } - this[_selectedUUID] = uuid; - this[_selectedUUIDList] = []; + if (typeof uuid === 'string') { + this[_selectedUUID] = uuid; + this[_selectedUUIDList] = []; + } this[_draw](); } } @@ -121,7 +123,7 @@ class Core { } } - moveDownElement(uuid: string): void { + moveUpElement(uuid: string): void { if (this[_onlyRender] === true) return; const index = this[_helper].getElementIndexByUUID(uuid); if (typeof index === 'number' && index >= 0 && index < this[_data].elements.length - 1) { @@ -133,7 +135,7 @@ class Core { this[_draw](); } - moveUpElement(uuid: string): void { + moveDownElement(uuid: string): void { if (this[_onlyRender] === true) return; const index = this[_helper].getElementIndexByUUID(uuid); if (typeof index === 'number' && index > 0 && index < this[_data].elements.length) { diff --git a/packages/core/src/lib/draw/index.ts b/packages/core/src/lib/draw/index.ts index 6cfb10a..f7e5a3f 100644 --- a/packages/core/src/lib/draw/index.ts +++ b/packages/core/src/lib/draw/index.ts @@ -37,7 +37,7 @@ export function drawContext( if (!(data.elements.length > 0)) { return; } - for (let i = data.elements.length - 1; i >= 0; i--) { + for (let i = 0; i < data.elements.length; i++) { const elem = data.elements[i]; switch (elem.type) { case 'rect': { diff --git a/packages/types/src/lib/element.ts b/packages/types/src/lib/element.ts index eee617e..d32f9be 100644 --- a/packages/types/src/lib/element.ts +++ b/packages/types/src/lib/element.ts @@ -10,7 +10,7 @@ type TypeElementAttrs = { type TypeElement = TypeElementAttrs & { name?: string; - uuid: string; + uuid?: string; type: T; lock?: boolean; desc: TypeElemDesc[T]; @@ -23,12 +23,12 @@ type TypeElemBoxDesc = { } type TypeElemDesc = { - text: TypeElemDescText, - rect: TypeElemDescRect, - circle: TypeElemDescCircle, - image: TypeElemDescImage, - svg: TypeElemDescSVG, - html: TypeElemDescHTML, + 'text': TypeElemDescText, + 'rect': TypeElemDescRect, + 'circle': TypeElemDescCircle, + 'image': TypeElemDescImage, + 'svg': TypeElemDescSVG, + 'html': TypeElemDescHTML, // paint: TypeElemDescPaint, }