Commit Graph

171 Commits

Author SHA1 Message Date
c3e9f775e7 Disable escape when creating element (#576)
Problem:
- Select arrow
- Mouse down somewhere
- Mouse move somewhere to create an arrow
- Press escape
- Now you're in a weird situation where the shape is now "selection" but you're still dragging the arrow. If you mouse up, the arrow disappears

In order to solve this problem, we can avoid making escape do anything if you're currently dragging an element
2020-01-26 11:36:05 +01:00
c697938350 Do not store cursor position in state (#557)
* Do not store cursor position in state

Storing it in state causes a full re-render. The only time we use the cursor position is for pasting. This halves the number of renders on drag.

* remove passive change
2020-01-25 11:38:08 -08:00
1bae203a78 changing new shape property sets it as default (#520)
* changing new shape property sets it as default

* set correct opacity while editing new test

Co-authored-by: Christopher Chedeau <vjeuxx@gmail.com>
2020-01-25 09:58:57 -08:00
69061e20ac Some a11y fixes (#534)
* Rename ToolIcon to ToolButton

It makes more semantic sense

* Label and keyboard shortcuts announcement

* Refactor common props for ToolButton

* Better doc outline and form controls

* Adjust color picker

* Styling fixes

Co-authored-by: Christopher Chedeau <vjeuxx@gmail.com>
2020-01-25 09:52:03 -08:00
413c387c7c Add onCancel callback to textWysiwyg for cleanup (#555) 2020-01-25 09:45:23 -08:00
689c94151d fix: typos (#540) 2020-01-24 21:02:55 +01:00
afb1d6725f Normalize dimensions (#527)
* normalize dimensions of non-linear elements

* fix element type check regression
2020-01-24 20:45:52 +01:00
54f9c296b5 Enhance language selection (#538)
* Enhance language selection

* remove top/left margin to limit unusable canvas area

Co-authored-by: David Luzar <luzar.david@gmail.com>
2020-01-24 19:10:44 +01:00
ee68af0fd3 Set Trailing Cmma to (#525) 2020-01-24 12:04:54 +02:00
e8c909e35c Don't use translated value for shortcut (#526) 2020-01-23 18:28:05 +02:00
926b4f24e6 Draw horizontal/vertical lines/arrows when shift pressed (#430)
* Draw horizontal/vertical lines/arrows when shift pressed

* Refactor resizing with delta

* Resize arrows/lines perfectly when shift pressed
2020-01-23 10:21:04 +01:00
dfb7c2b744 Add app state to history (#309)
* Add app state to history.

* Pick missing state keys.

* Fix bug.

* Remove force update.
2020-01-22 21:32:43 +01:00
48024c9116 Remove selected object when storing to backend (#506) 2020-01-22 18:27:44 +02:00
a436e70764 Internationalization followup (#500)
* add translations in data.ts

* add language list
add spanish version

* fixes pr review

* add more translations

* remove unused label

Co-authored-by: David Luzar <luzar.david@gmail.com>
2020-01-22 16:25:04 +02:00
bef279417e fix: cursor on keyboard tool toggle (#482)
* update events for GH actions to include PRs

* fix: cursor on keyboard tool toggle

* fix: change cursor type to constant

* fix: swap condition

Co-authored-by: David Luzar <luzar.david@gmail.com>
2020-01-22 14:36:08 +01:00
20cf1078fc add top error boundary & reset localStorage on error (#493)
* add top error boundary & reset localStorage on error

* add issue tracker details and link

* add pointer cursor to buttons

* Update src/bug-issue-template.js

Co-Authored-By: Lipis <lipiridis@gmail.com>

* Update src/styles.scss

Co-Authored-By: Lipis <lipiridis@gmail.com>

* Update src/bug-issue-template.js

Co-Authored-By: Lipis <lipiridis@gmail.com>

* use open-color colors

* use Cascadia font

Co-authored-by: Lipis <lipiridis@gmail.com>
2020-01-21 15:50:25 +01:00
a72a143c84 Introduce Shapelock (#480)
* Introduce shape lock

* Format code with prettier

* Do not reset elementLocked on selection change

* Don't set isSelected to true if element is locked

* Don't reset the cursor

* Move reset cursor call to better spot

* Run prettier + lint
2020-01-20 15:52:19 -08:00
2340dddaad Sync panel props to editing element (#470)
* ensure panel props are sync to editing elem

* ensure we don't create empty-text elements (fixes #468)

* remove dead code

Co-authored-by: Christopher Chedeau <vjeuxx@gmail.com>
2020-01-20 15:16:22 -08:00
ff7a340d2f Internationalization support (#477)
* add i18next lib
add some translations

* add translations

* fix font-family

* fix pin versions
2020-01-20 15:14:10 -08:00
703d1e42e3 id instead of json 2020-01-20 21:30:07 +02:00
d44c4ca2d8 flush autosave on unload (#473) 2020-01-20 09:37:42 -08:00
6ad596e9f1 Share excalidrawings as links! (#356)
* shareable links

* fix

* review comments

* json-excaliber (#464)

* draw

* Boom

* backend

* Remove local

Co-authored-by: Lipis <lipiridis@gmail.com>
2020-01-19 21:56:19 -08:00
0097652b79 disallow shape selection during creation (#449) 2020-01-20 01:27:00 +02:00
61be0f7b61 Render text actions panel on double click (#450)
* Render text actions panel on double click

* cleanup wysiwyg on click

* use `state.editingElement` instead of global to determine whether t ext panel is shown

* clarify comment

Co-authored-by: David Luzar <luzar.david@gmail.com>
2020-01-19 23:32:24 +01:00
3715da9966 Remove not needed nesting for resize (#460) 2020-01-19 18:43:51 -03:00
7f6e1f420e Pure node rendering (#443) 2020-01-19 13:21:33 -08:00
d505c6615d Fix reversed cursor issues on resize with bi-directional cursors (#451) 2020-01-19 23:11:46 +02:00
bbabf33d78 Render shape action on tool selected (#448) 2020-01-18 15:45:35 -08:00
4180485eef Disable shortcuts for shapes while dragging the selection (#447) 2020-01-18 14:12:49 -08:00
31403ab373 Bug 389 (#428)
* paste inside the viewport

* Buttons in top left panel aren't horizontally centered
2020-01-17 20:23:41 +02:00
6892348c3d Revert 400 and 420 (#422)
* revert #400 font file

* Revert "Revert "Set scale for export images (#416)" (#420)"

This reverts commit d603921234.
2020-01-17 16:43:24 +02:00
d603921234 Revert "Set scale for export images (#416)" (#420)
This reverts commit 82f559f826.
2020-01-17 15:55:17 +03:00
82f559f826 Set scale for export images (#416) 2020-01-17 15:19:56 +03:00
8bc049a0b9 Remove resized element if it is invisibly small (#405) 2020-01-16 23:16:11 +01:00
8154ccd907 No named colors and lowercase hex (#395)
* No named colors and lowercase hex

* consistent
2020-01-16 10:16:08 -08:00
4ecc734659 Fix #360 prevent creating invisibly small elements (#387) 2020-01-16 08:27:18 -08:00
2a8e562e98 Add numeric hotkeys (#380)
* Add numeric hotkeys

* Nit: add space after comma
2020-01-15 18:39:15 -08:00
0e56cd4f56 pan canvas on wheel button drag (#375)
* pan canvas on wheel button drag

* make mousemove passive
2020-01-15 15:21:39 -08:00
79aee53ff6 Redesign idea (#343)
* Redisign idea

* Code cleanup

* Fixed to right container

* Reoredered layout

* Reordering panels

* Export dialog

* Removed redunant code

* Fixed not removing temp canvas

* Fixed preview not using only selected elements

* Returned file name on export

* Toggle export selected/all elements

* Hide copy to clipboard button if no support of clipboard

* Added border to swatches

* Fixed modal flickering
2020-01-15 07:42:02 -08:00
8dbd1b80df Update to rough.js 4.0.1 (#363)
* upgrade to latest rough.js

* remove random.ts because roughjs now supports seeding.
2020-01-13 11:04:28 -08:00
bc2bae2a9a Shift drag to add to selection (#355)
* Shift drag to add to selection

* Inlined variable
2020-01-12 15:32:25 -08:00
4c62cbf57e Don't show resize cursor if multiple elements are selected (#353) 2020-01-12 12:24:11 -08:00
f91b708abb Revert "Shift drag to add to selection (#350)" (#352)
This reverts commit ce467f7b65.
2020-01-12 12:08:18 -08:00
ce467f7b65 Shift drag to add to selection (#350) 2020-01-12 11:56:10 -08:00
58ad6d741d fix selecting elem inside already selected element (#349) 2020-01-12 11:43:31 -08:00
c67435719f Use cursor delta to resize shape (#341) 2020-01-12 09:05:08 -08:00
abf2aaa102 "Select All" only appears when clicking outside of a shape via actionFilter (#329)
Co-authored-by: Christopher Chedeau <vjeuxx@gmail.com>
2020-01-12 07:10:15 -08:00
88a9cee8bb History improvements (#337)
* Simplified redoOnce.

* Help mental model.

* Move clear redo stack where it belongs.

* Not needed anymore as we check for same state.
2020-01-12 03:19:24 -08:00
bc909b76da Move copy paste handler to document (#334)
Hopefully it should resolve the copy pasting issues

Fixes #249
2020-01-11 21:39:16 -08:00
aad6e8f434 Reset to selection after creating a text (#333)
Fixes #252

Test plan:
- Click on text icon
- Click anywhere to start entering text
- Add a letter
- Make sure the cursor is selection and not text
- Click anywhere else, make sure it completes the text and not create a new one
2020-01-11 21:00:55 -08:00