Refactor ExcalidrawElement (#874)

* Get rid of isSelected, canvas, canvasZoom, canvasOffsetX and canvasOffsetY on ExcalidrawElement.

* Fix most unit tests. Fix cmd a. Fix alt drag

* Focus on paste

* shift select should include previously selected items

* Fix last test

* Move this.shape out of ExcalidrawElement and into a WeakMap
This commit is contained in:
Pete Hunt 2020-03-08 10:20:55 -07:00 committed by GitHub
parent 8ecb4201db
commit ccbbdb75a6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
39 changed files with 416 additions and 306 deletions

View file

@ -1,4 +1,5 @@
import { exportToCanvas } from "./scene/export";
import { getDefaultAppState } from "./appState";
const { registerFont, createCanvas } = require("canvas");
@ -16,7 +17,6 @@ const elements = [
strokeWidth: 1,
roughness: 1,
opacity: 100,
isSelected: false,
seed: 749612521,
},
{
@ -32,7 +32,6 @@ const elements = [
strokeWidth: 1,
roughness: 1,
opacity: 100,
isSelected: false,
seed: 952056308,
},
{
@ -48,7 +47,6 @@ const elements = [
strokeWidth: 1,
roughness: 1,
opacity: 100,
isSelected: false,
seed: 1683771448,
text: "test",
font: "20px Virgil",
@ -60,6 +58,7 @@ registerFont("./public/FG_Virgil.ttf", { family: "Virgil" });
registerFont("./public/Cascadia.ttf", { family: "Cascadia" });
const canvas = exportToCanvas(
elements as any,
getDefaultAppState(),
{
exportBackground: true,
viewBackgroundColor: "#ffffff",