Commit Graph

156 Commits (5bd1c8b3cd29a9a08be78fb3de32bcc86553cb6f)

Author SHA1 Message Date
David Luzar 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>
5 years ago
Jilles Soeters 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
5 years ago
David Luzar 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>
5 years ago
Fernando Alava Zambrano ff7a340d2f Internationalization support (#477)
* add i18next lib
add some translations

* add translations

* fix font-family

* fix pin versions
5 years ago
Panayiotis Lipiridis 703d1e42e3 id instead of json 5 years ago
David Luzar d44c4ca2d8 flush autosave on unload (#473) 5 years ago
Brady Madden 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>
5 years ago
David Luzar 0097652b79 disallow shape selection during creation (#449) 5 years ago
Faustino Kialungila 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>
5 years ago
Guillermo Peralta Scura 3715da9966
Remove not needed nesting for resize (#460) 5 years ago
Christopher Chedeau 7f6e1f420e
Pure node rendering (#443) 5 years ago
Günay Mert Karadoğan d505c6615d Fix reversed cursor issues on resize with bi-directional cursors (#451) 5 years ago
Faustino Kialungila bbabf33d78 Render shape action on tool selected (#448) 5 years ago
Sosuke Suzuki 4180485eef Disable shortcuts for shapes while dragging the selection (#447) 5 years ago
Abhishek Kulshrestha 31403ab373 Bug 389 (#428)
* paste inside the viewport

* Buttons in top left panel aren't horizontally centered
5 years ago
David Luzar 6892348c3d Revert 400 and 420 (#422)
* revert #400 font file

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

This reverts commit d603921234.
5 years ago
Timur Khazamov d603921234
Revert "Set scale for export images (#416)" (#420)
This reverts commit 82f559f826.
5 years ago
Timur Khazamov 82f559f826
Set scale for export images (#416) 5 years ago
Günay Mert Karadoğan 8bc049a0b9 Remove resized element if it is invisibly small (#405) 5 years ago
Lipis 8154ccd907 No named colors and lowercase hex (#395)
* No named colors and lowercase hex

* consistent
5 years ago
Günay Mert Karadoğan 4ecc734659 Fix #360 prevent creating invisibly small elements (#387) 5 years ago
Jilles Soeters 2a8e562e98 Add numeric hotkeys (#380)
* Add numeric hotkeys

* Nit: add space after comma
5 years ago
David Luzar 0e56cd4f56 pan canvas on wheel button drag (#375)
* pan canvas on wheel button drag

* make mousemove passive
5 years ago
Timur Khazamov 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
5 years ago
Preet 8dbd1b80df Update to rough.js 4.0.1 (#363)
* upgrade to latest rough.js

* remove random.ts because roughjs now supports seeding.
5 years ago
Timur Khazamov bc2bae2a9a Shift drag to add to selection (#355)
* Shift drag to add to selection

* Inlined variable
5 years ago
Guillermo Peralta Scura 4c62cbf57e Don't show resize cursor if multiple elements are selected (#353) 5 years ago
Christopher Chedeau f91b708abb
Revert "Shift drag to add to selection (#350)" (#352)
This reverts commit ce467f7b65.
5 years ago
Timur Khazamov ce467f7b65 Shift drag to add to selection (#350) 5 years ago
David Luzar 58ad6d741d fix selecting elem inside already selected element (#349) 5 years ago
Guillermo Peralta Scura c67435719f Use cursor delta to resize shape (#341) 5 years ago
Jeremy Press abf2aaa102 "Select All" only appears when clicking outside of a shape via actionFilter (#329)
Co-authored-by: Christopher Chedeau <vjeuxx@gmail.com>
5 years ago
Enzo Ferey 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.
5 years ago
Christopher Chedeau bc909b76da
Move copy paste handler to document (#334)
Hopefully it should resolve the copy pasting issues

Fixes #249
5 years ago
Christopher Chedeau 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
5 years ago
Christopher Chedeau 44657efe71
Fix undoOnce (#332)
I just pasted @enzoferey's implementation and it fixed the bug reported by @dwelle

Fixes #307
5 years ago
Christopher Chedeau dd2a7eb597
Fix copy-paste on input (#331)
If the input is active, we shouldn't override copy paste behavior
5 years ago
Christopher Chedeau d45f48e60f
Set shape background to be transparent by default (#330)
Also makes "Clear canvas" reset the entire app state
5 years ago
Christopher Chedeau 3db7d69849
Debounce localstorage save (#328)
I profiled dragging and it looks like it takes ~3ms to save to localStorage a smallish scene and we're doing it twice per mousemove. Let's debounce so we don't pay that cost on every mouse move.

Stole the implementation from #220 which got reverted.
5 years ago
Christopher Chedeau c745fd4e5e
Prevent cmd-r from selecting rectangle (#327)
I keep adding empty rectangles because I reload with cmd-r which enables rectangle :p Let's only make the shortcut work if there's no modifier enabled
5 years ago
Christopher Chedeau 407f00bbd5
Fix alt-duplicate (#326)
We need to unselect all the previous elements and select all the new ones. Also made sure that the shape is regenerated when the element is duplicated
5 years ago
Christopher Chedeau 5bdd0a35f6
Fix cmd-a drawing arrows (#321)
We need to quit if we have either elements OR appState, not both.
5 years ago
Gasim Gasimzada 74764b06eb Regenerate roughjs shape only when the item is updated (#316)
* Regenerate roughjs shape only when the item is updated

* Remove shape object during export and history undo/redo

* Remove shape element during copying

* Fix shape generation during creation
5 years ago
Gasim Gasimzada f465121f9b Feature: Action System (#298)
* Add Action System

- Add keyboard test
- Add context menu label
- Add PanelComponent

* Show context menu items based on actions

* Add render action feature

- Replace bringForward etc buttons with action manager render functions

* Move all property changes and canvas into actions

* Remove unnecessary functions and add forgotten force update when elements array change

* Extract export operations into actions

* Add elements and app state as arguments to `keyTest` function

* Add key priorities

- Sort actions by key priority when handling key presses

* Extract copy/paste styles

* Add Context Menu Item order

- Sort context menu items based on menu item order parameter

* Remove unnecessary functions from App component
5 years ago
Timur Khazamov c253c0b635 Command clicking should "xor" selection (#300)
* Command clicking should "xor" selection

* Only shift key should play a role

* Get rid of `isDraggingElements`

* Renamed someElementIsDragged to draggingOccured
5 years ago
Gunay Mert Karadogan 3eb6d1de68 Fix history saving for resizing/dragging element (#292) 5 years ago
Gasim Gasimzada f2346275ef
Extract Side Panel from App component (#295)
* Extract Side Panel from App component

* Refactor SidePanel component

- Remove unnecessary props (we are already passing appState as a prop)
- Remove unnecessary allback (we are already passing setState)
5 years ago
David Luzar 2fb3cdd5e4
fix copy/paste regression (#291) 5 years ago
David Luzar deee57314d
support export canvas to clipboard (#232) 5 years ago
Giovanni Giordano 1541428ab1 Clear active tool on escape (#286)
* Clear active tool on escape

* Remove console log
5 years ago