support image via programmatic API

This commit is contained in:
Aakansha Doshi 2023-07-17 17:54:50 +05:30
parent bf3afc34ed
commit 21ca391e8c
2 changed files with 10 additions and 1 deletions

View file

@ -13,6 +13,7 @@ import { bindLinearElement } from "../element/binding";
import { mutateElement } from "../element/mutateElement";
import {
ElementConstructorOpts,
newImageElement,
newTextElement,
regenerateId,
} from "../element/newElement";
@ -166,6 +167,7 @@ export const ELEMENTS_SUPPORTING_PROGRAMMATIC_API = [
"text",
"arrow",
"line",
"image",
];
const DEFAULT_LINEAR_ELEMENT_PROPS = {
@ -531,6 +533,13 @@ export const convertToExcalidrawElements = (
...elementWithId,
});
excalidrawElements.add(lineElement);
} else if (elementWithId.type === "image") {
const imageElement = newImageElement({
width: elementWithId?.width || DEFAULT_DIMENSION,
height: elementWithId?.height || DEFAULT_DIMENSION,
...elementWithId,
});
excalidrawElements.add(imageElement);
} else {
excalidrawElement = {
...elementWithId,

View file

@ -29,12 +29,12 @@ const elements: ExcalidrawProgrammaticAPI["elements"] = [
end: { type: "ellipse" },
},
{
fileId: "rocket" as FileId,
type: "image",
x: 606.1042326312408,
y: 153.57729779411773,
width: 231.30325348751828,
height: 231.64340533088227,
fileId: "rocket" as FileId,
},
];
export default {