1047 Commits

Author SHA1 Message Date
Thomas Steiner
5d3867d8ac
Implement Save without re-prompt and Save as ()
* Implement Save without re-prompt and Save as
Fixes 

* Add save-as icon

* Make .excalidraw the default extension

* Only show save as button on supporting browsers
2020-06-12 18:35:04 +02:00
Lipis
0ed6a96b6a
New Crowdin translations () 2020-06-10 18:24:36 +03:00
David Luzar
dadf054ea2
fix not always generating shape on render () 2020-06-09 17:36:25 +02:00
Thomas Steiner
6b87278a0f
Add file handling ()
* Add file handling
https://github.com/WICG/file-handling/blob/master/explainer.md#example

* Only trigger on `.excalidraw` for now
2020-06-08 13:02:06 +02:00
Saransh Barua
998f0ae458
remove z-index for color-picker-hash div () 2020-06-08 06:52:54 -04:00
Aakansha Doshi
60973f6dc5
rename container class to excalidraw and move css from index.html to app.css ()
Moved the css from index.html to app.css so it can be included in upstream app as well
2020-06-08 13:36:35 +03:00
Daishi Kato
53ab46126d
support resizing multiple elements including texts ()
Co-authored-by: David Luzar <luzar.david@gmail.com>
2020-06-08 11:25:20 +02:00
Youness Fkhach
d171e9705d
Fix RTL text direction rendering (reopened) ()
Co-authored-by: dwelle <luzar.david@gmail.com>
2020-06-07 11:55:08 +02:00
Pete Hunt
f7c4efbd35
Excalicharts MVP ()
Co-authored-by: David Luzar <luzar.david@gmail.com>
2020-06-06 22:09:04 +02:00
David Luzar
d1be2a5481
fix text constructor groupIds & improve type safety () 2020-06-06 13:32:43 +02:00
fujimoto kyosuke
476c0e9f8a
Fix undo with line editing () 2020-06-05 17:11:24 +02:00
Lipis
c6e73c56fd
New Crowdin translations () 2020-06-05 14:07:00 +03:00
Farooq AR
669e84b5d7
Add regression tests for context-menu () ()
Co-authored-by: dwelle <luzar.david@gmail.com>
2020-06-04 22:09:16 +02:00
David Luzar
ff93d95998
Revert "Fix RTL text direction rendering ()" ()
This reverts commit a118bed82f898a365cf5f71ed32f69f51fd08a47.
2020-06-03 12:12:43 +02:00
Youness Fkhach
a118bed82f
Fix RTL text direction rendering ()
Co-authored-by: Lipis <lipiridis@gmail.com>
2020-06-02 21:31:34 +03:00
Steven Nguyen
fd75b88bd3
Double finger zoom should not select things () 2020-06-02 19:41:40 +03:00
Lipis
1e9adf0a80
New Crowdin translations () 2020-06-02 15:13:30 +03:00
Lipis
3f31a6ce89
New Crowdin translations () 2020-06-02 02:42:37 +03:00
Lipis
d3d9994c74
New Crowdin translations ()
* New translations en.json (Persian)

* New translations en.json (Persian)

* New translations en.json (Persian)

* New translations en.json (French)

* New translations en.json (Portuguese)

* New translations en.json (Persian)

* New translations en.json (Albanian)

* New translations en.json (Catalan)

* New translations en.json (Hebrew)

* New translations en.json (Hindi)

* New translations en.json (Indonesian)

* New translations en.json (Chinese Traditional)

* New translations en.json (Chinese Simplified)

* New translations en.json (Turkish)

* New translations en.json (Russian)

* New translations en.json (Polish)

* New translations en.json (Spanish)

* New translations en.json (Norwegian)

* New translations en.json (Dutch)

* New translations en.json (Korean)

* New translations en.json (Japanese)

* New translations en.json (Italian)

* New translations en.json (Hungarian)

* New translations en.json (Finnish)

* New translations en.json (Greek)

* New translations en.json (German)

* New translations en.json (Bulgarian)

* New translations en.json (Arabic)

* New translations en.json (Ukrainian)

* New translations en.json (French)
2020-06-01 07:00:35 -04:00
David Luzar
14a66956d7
Implement line editing ()
* implement line editing

* line editing with rotation

* ensure adding new points is disabled on point dragging

* fix hotkey replacement

* don't paint bounding box when creating new multipoint

* tweak points style, account for zoom and z-index

* don't persist editingLinearElement to localStorage

* don't mutate on noop points updates

* account for rotation when adding new point

* ensure clicking on points doesn't deselect element

* tweak history handling around editingline element

* update snapshots

* refactor pointerMove handling

* factor out point dragging

* factor out pointerDown

* improve positioning with rotation

* revert to use roughjs for calculating points bounds

* migrate from storing editingLinearElement.element to id

* make GlobalScene.getElement into O(1)

* use Alt for adding new points

* fix adding and deleting a point with rotation

* disable resize handlers & bounding box on line edit

Co-authored-by: daishi <daishi@axlight.com>
2020-06-01 11:35:44 +02:00
Lipis
db316f32e0
New Crowdin translations () 2020-05-31 17:35:34 +03:00
Youness Fkhach
9151da772c
feat: hide the UI elements when printing the page () 2020-05-30 13:51:28 -07:00
David Luzar
f413bab3de
Fix group element removing () 2020-05-30 13:48:57 -07:00
Aakansha Doshi
17e9cc4506
Some cleanup in App.tsx () 2020-05-30 15:26:17 +02:00
Aakansha Doshi
fa359034c5
scroll the closest element to center ()
Co-authored-by: Sanghyeon Lee <yongdamsh@gmail.com>
2020-05-30 14:02:32 +02:00
David Luzar
0db7ac78c4
fix fontFamily state updating () 2020-05-29 21:59:39 +02:00
David Luzar
44a88d2d58
Rewrite restore to guard against missing migrations () 2020-05-28 02:41:34 -07:00
Pete Hunt
56f8bc092d
Tests for groups, more test utils () 2020-05-28 10:56:18 +02:00
David Luzar
4f3bf79708
skip element mutation on noop updates () 2020-05-28 00:50:56 -07:00
Daishi Kato
7edcea9a93
feat: resize text element ()
* feat: resize text element

* ignore small font size change that leads jankiness

Co-authored-by: dwelle <luzar.david@gmail.com>
2020-05-28 07:17:15 +09:00
David Luzar
5327e8a3dc
fix language change not rerendering ui () 2020-05-27 16:46:11 +02:00
David Luzar
63c10743fb
split font into fontSize and fontFamily () 2020-05-27 15:14:50 +02:00
Pete Hunt
46b574283f
Fix zindex in groups () 2020-05-26 22:56:22 +02:00
Pete Hunt
61e5b66dac
Group/ungroup ()
Co-authored-by: dwelle <luzar.david@gmail.com>
2020-05-26 13:07:46 -07:00
Aakansha Doshi
5252726307
dynamically import socket.io-client when needed () 2020-05-26 20:51:03 +02:00
Lipis
1a1cbb345b
New Crowdin translations () 2020-05-26 17:24:01 +03:00
David Luzar
35049e3de7
History tweaks ()
Co-authored-by: Pete Hunt <phunt@twitter.com>
2020-05-24 15:17:14 -07:00
Timur Khazamov
d315e3dc4d
Update TypeScript to 3.9.3 ()
Co-authored-by: tk338g <tkhazamov@wayfair.com>
2020-05-24 21:17:25 +02:00
Pete Hunt
6512ede9ca
Optimize undo history ()
Co-authored-by: dwelle <luzar.david@gmail.com>
2020-05-23 12:07:11 -07:00
Daishi Kato
51608c07b0
15-degree rotation locking () 2020-05-23 10:45:05 +02:00
David Luzar
d2ae18995c
add history.shouldCreateEntry resolver () 2020-05-22 22:26:59 -07:00
David Luzar
ce6f2ff88c
cache nonDeleted elements () 2020-05-22 10:15:16 -07:00
Preet
584e4182a7
Ensure arrows are not draggable from inside () 2020-05-21 21:57:54 +02:00
Lipis
c427aa3cce
Prefer arrow functions and callbacks () 2020-05-20 15:21:37 +02:00
Richard Keenan
33fe223b5d
Typo fix in desc_exitSession en.json () 2020-05-19 19:33:37 +02:00
Daishi Kato
4d2e8f9ad1
feat: resize multiple elements including two-point lines () 2020-05-18 10:36:30 +02:00
Daishi Kato
6b628bb1a6
fix: resize non solid lines/arrows/draws () 2020-05-17 16:01:35 +02:00
Kostas Bariotis
7f35b805d1
Add Catalan translation () 2020-05-16 18:45:56 +03:00
Lipis
755cd9c320
New Crowdin translations ()
* New translations en.json (Greek)

* New translations en.json (Norwegian)

* New translations en.json (Russian)

* New translations en.json (Russian)

* New translations en.json (Russian)

* New translations en.json (Catalan)

* New translations en.json (French)

* New translations en.json (French)

* New translations en.json (French)

* New translations en.json (Norwegian)

* New translations en.json (Hebrew)

* New translations en.json (Hindi)

* New translations en.json (Indonesian)

* New translations en.json (Chinese Traditional)

* New translations en.json (Chinese Simplified)

* New translations en.json (Turkish)

* New translations en.json (Russian)

* New translations en.json (Portuguese)

* New translations en.json (Polish)

* New translations en.json (Dutch)

* New translations en.json (Spanish)

* New translations en.json (Korean)

* New translations en.json (Japanese)

* New translations en.json (Italian)

* New translations en.json (Hungarian)

* New translations en.json (Finnish)

* New translations en.json (Greek)

* New translations en.json (German)

* New translations en.json (Bulgarian)

* New translations en.json (Arabic)

* New translations en.json (Catalan)

* New translations en.json (Spanish)

* New translations en.json (Portuguese)

* New translations en.json (Norwegian)

* New translations en.json (Finnish)

* New translations en.json (German)

* New translations en.json (German)

* New translations en.json (German)

* New translations en.json (French)

* New translations en.json (French)

* New translations en.json (French)

* New translations en.json (Norwegian)

* New translations en.json (Hebrew)

* New translations en.json (Hindi)

* New translations en.json (Indonesian)

* New translations en.json (Chinese Traditional)

* New translations en.json (Chinese Simplified)

* New translations en.json (Turkish)

* New translations en.json (Russian)

* New translations en.json (Portuguese)

* New translations en.json (Polish)

* New translations en.json (Dutch)

* New translations en.json (Spanish)

* New translations en.json (Korean)

* New translations en.json (Japanese)

* New translations en.json (Italian)

* New translations en.json (Hungarian)

* New translations en.json (Finnish)

* New translations en.json (Greek)

* New translations en.json (German)

* New translations en.json (Bulgarian)

* New translations en.json (Arabic)

* New translations en.json (Catalan)

* New translations en.json (French)

* New translations en.json (Spanish)

* New translations en.json (Greek)

* New translations en.json (French)

* New translations en.json (Norwegian)

* New translations en.json (Hebrew)

* New translations en.json (Chinese Traditional)

* New translations en.json (Chinese Simplified)

* New translations en.json (Turkish)

* New translations en.json (Russian)

* New translations en.json (Portuguese)

* New translations en.json (Polish)

* New translations en.json (Dutch)

* New translations en.json (Spanish)

* New translations en.json (Korean)

* New translations en.json (Japanese)

* New translations en.json (Italian)

* New translations en.json (Hungarian)

* New translations en.json (Finnish)

* New translations en.json (Greek)

* New translations en.json (German)

* New translations en.json (Bulgarian)

* New translations en.json (Arabic)

* New translations en.json (Spanish)

* New translations en.json (Finnish)

* New translations en.json (German)

* New translations en.json (German)

* New translations en.json (Catalan)

* New translations en.json (Catalan)

* New translations en.json (Spanish)

* New translations en.json (Catalan)

* New translations en.json (Catalan)

* New translations en.json (Catalan)

* New translations en.json (Catalan)

* New translations en.json (French)

* New translations en.json (Italian)

* New translations en.json (Portuguese)

* New translations en.json (Italian)
2020-05-16 18:45:09 +03:00
fujimoto kyosuke
afbfe2b8b1
Alt should be labeled as Option on Mac () 2020-05-14 16:51:52 -07:00