Commit Graph
96 Commits
Author SHA1 Message Date
David LuzarandGitHub cac2dda5ac Add loading state (#1027)
* add loading state

* update snapshots

* add border radius

* fix comment breaking build jsx
2020-03-26 18:28:26 +01:00
David LuzarandGitHub 6fd2a3b2e5 fix z-index action to account for deleted elems and add tests (#1077) 2020-03-26 00:28:50 -07:00
David LuzarandGitHub 42df058223 load from localStorage only if not in multiplayer (#1074) 2020-03-24 09:57:59 -07:00
David LuzarandGitHub c416de3499 fix lint not failing on warnings on CI (#1063) 2020-03-23 17:20:42 +02:00
David LuzarandGitHub cf4fa30a57 tweak png copy button label (#1062)
* tweak png copy button label

* fix lint
2020-03-23 16:15:22 +01:00
David LuzarandGitHub f6b36519f1 don't pass deleted elements to UI (#1029) 2020-03-20 21:46:09 +01:00
David LuzarandGitHub edd54d93b3 revert #1017 (#1025)
This reverts commit 1546c00c0c.
2020-03-20 16:46:06 +01:00
David LuzarandGitHub fda06e4fc3 Fix history - the 2nd installment (#1014)
* don't regenerate versionNonce on pushEntry

* fix history handling around multi-point arrows

* remove filtering from getElementMap helper
2020-03-19 11:41:32 -07:00
David LuzarandGitHub 82ce068972 fix history (#1009)
* fix history

* tweak withBatchedUpdates typing
2020-03-19 14:51:05 +01:00
David LuzarandGitHub ff033640e4 expose a few state props for debugging (#1008)
* expose a few state props for debugging

* rename h.appState & add h.setState

* support setting elements
2020-03-18 20:44:05 +01:00
David LuzarandGitHub b7da524538 confirm arrow on doubleclick (#949)
* confirm arrow on double click

* change hint

* fix cursor not updating on click
2020-03-18 16:43:06 +01:00
David LuzarandGitHub 254a0753ff fix negative resize for non-multipoint elements (#1000) 2020-03-18 08:34:04 -07:00
David LuzarandGitHub 23b785de68 Trim trailing newlines (#999)
* trim newlines for text elements

* fix comment
2020-03-18 13:01:33 +01:00
David LuzarandGitHub 373d16abe6 improve & granularize ExcalidrawElement types (#991)
* improve & granularize ExcalidrawElement types

* fix incorrectly passing type

* fix tests

* fix more tests

* fix unnecessary spreads & refactor

* add comments
2020-03-17 20:55:40 +01:00
David LuzarandGitHub b9c75b5bc4 use deletedIds map to sync deletions (#936)
* use deletedIds map for sync deletions

* refactor how we create data for syncing

* fix comments

* streamline broadcast API

* split broadcast methods
2020-03-14 21:25:07 +01:00
David LuzarandGitHub c85315650f fix calculating text width for indented text (#930) 2020-03-13 15:10:44 +01:00
David LuzarandGitHub 450a024f5c remove object.fromEntries (#933) 2020-03-13 15:10:24 +01:00
dwelle 642e47bd03 Merge remote-tracking branch 'origin/master' into fix_multiplayer_concurrency 2020-03-12 21:49:54 +01:00
dwelle c04fe403fc don't sync editing elements & prefer local versions 2020-03-12 21:28:58 +01:00
dwelle f1ac8cac32 remove unused selectedId 2020-03-12 20:02:10 +01:00
David LuzarandGitHub 95e726bd6f cancel text via doubleclick when in multiElement mode (#926) 2020-03-12 18:31:53 +01:00
David LuzarandGitHub f0e6f4dbb8 Text esc fixes (#925)
* fix incorrectly resetting state on esc

* confirm text on esc
2020-03-12 18:04:56 +01:00
David LuzarandGitHub 3a5ca27600 fix zero-coalescing roughness (#924) 2020-03-12 17:49:11 +01:00
dwelle 5706dd7ae2 consolidate & align collaboration socket eventing with server 2020-03-12 12:19:56 +01:00
dwelle 96320478e6 remove remote pointers on client disconnect 2020-03-12 10:41:36 +01:00
David LuzarandGitHub 2db2f3f5e4 Collab ui tweaks (#913)
* decrease gap between menu icons

* reduce margin of copy button

* add collaboratorsCount to roomDialog toggle button
2020-03-11 14:48:27 -07:00
b82b0754ac Room dialog (#905)
* support ToolIcon className and fix label padding

* factor some ExportDialog classes out to Modal

* initial RoomDialog prototype

* change label for another-session button

* remove unused css

* add color comments

* Move the collaboration button to the main menu, add support for mobile

* remove button for creating another session

* add locks

* Fix alignment issue

* Reorder button

* reuse current scene for collab session

* keep collaboration state on restore

Co-authored-by: Jed Fox <git@twopointzero.us>
2020-03-11 19:42:18 +01:00
David LuzarandGitHub 13b838117c filter out selection elements on restore (#901)
* filter out selection elements on restore

* add comment
2020-03-10 19:41:41 +01:00
David LuzarandGitHub 5dadbcdcd5 don't set pointer on pointerMove if not already present (#889) 2020-03-09 09:17:26 -07:00
David LuzarandGitHub 3bf3d96d9f make error message more user-friendly (#812)
* make error message more user-friendly

* tweak aria

* override user-select for error splash screen

* localize messages

* fix naming

* log error

* include spaces in i18n
2020-03-09 17:09:45 +01:00
David LuzarandGitHub 463854e42a fix pinch zoom (#885) 2020-03-09 07:19:38 -07:00
David LuzarandGitHub 7e0e885417 ensure restored elements are normalized before filter (#844) 2020-02-27 17:37:43 +01:00
David LuzarandGitHub 8198d71af8 fix svg export (#837) 2020-02-24 21:08:13 +01:00
David LuzarandGitHub 4977593ec4 fix exporting lines as svg (#836) 2020-02-24 18:30:21 +01:00
David LuzarandGitHub 4b8b9965c2 fix early return from renderScene (#815) 2020-02-23 21:19:27 +01:00
David LuzarandGitHub 80a49e9611 improve error handling & map stack trace (#809)
* improve error handling & map stack trace

* log error message and tweak

* support logging multiple errors

* move dynamic import inside try/catch
2020-02-22 22:37:04 +01:00
David LuzarandGitHub 9439908b92 use a better cloning algorithm (#753)
* use a better cloning algorithm

* Revert "use a better cloning algorithm"

This reverts commit 7279262129.

* implement custom cloning algorithm

* add tests

* refactor

* don't copy canvas & ignore canvas in related ops

* fix tests
2020-02-19 22:28:11 +01:00
David LuzarandGitHub 2d22ffda49 fix wheel zoom step (#771) 2020-02-16 16:23:56 +01:00
David LuzarandGitHub 6dd3620dd6 fix cloning element.points (#744) 2020-02-09 23:57:14 +01:00
David LuzarandGitHub 2a472bb912 ensure duplicateElement does deep copy of points (#742) 2020-02-09 14:45:21 -08:00
David LuzarandGitHub 389e40900c z-index button fixes (#738)
* fix svg attributes

* center z-index icons

* remove unnecessary attributes

* differentiate button :active bg

* prevent selection of ToolIcon hints

* emphasize active elem color
2020-02-09 17:09:21 +01:00
David LuzarandGitHub d79293de06 move footer into layerUI & refactor ActionManager (#729) 2020-02-07 23:46:19 +01:00
David LuzarandGitHub 88eacc9da7 Improve pasting (#723)
* switch to selection tool on paste

* align pasting via contextMenu with pasting from event

* ensure only plaintext can be pasted

* fix findShapeByKey regression

* simplify wysiwyg pasting

* improve wysiwyg blurriness
2020-02-07 18:42:24 +01:00
David LuzarandGitHub 3b20e6e2b8 fix decoding imported data from backend (#722) 2020-02-06 18:46:26 +01:00
David LuzarandGitHub 972d69da6c fix hotkeys not working when non-writable input focused (#717) 2020-02-05 19:07:53 +01:00
David LuzarandGitHub 82eb97462b fix restoring from localStorage (#715) 2020-02-05 17:57:08 +01:00
David LuzarandGitHub b7a6ceba68 Eslint tweaks (#696)
* make eslint styleguide into warnings & drop no-else-return

* reintroduce max-warnings=0

* remove unnecessary eslint line disable

* reintroduce no-else-return rule
2020-02-05 17:41:14 +01:00
David LuzarandGitHub 954d805cb3 rewrite clipboard handling (#689) 2020-02-04 11:50:18 +01:00
David LuzarandGitHub 3d2e59bfed Revert "Feature: Multi Point Arrows (#338)" (#634)
This reverts commit 16263e942b.
2020-01-31 18:56:55 +01:00
David LuzarandGitHub 6886dfdea7 ensure we reset draggingElement when tool locked (#627) 2020-01-30 22:14:40 +01:00
David LuzarandGitHub bd1c00014b fix not resuming recording (#614) 2020-01-30 15:39:17 +01:00
David LuzarandGitHub 023400c3cc Revert "Fix keyboard shortcut (#587)" (#617)
This reverts commit cc3d71f13c.
2020-01-30 10:40:49 +01:00
David LuzarandGitHub 26048ee469 improve clipboard handling (#596)
* improve clipboard handling

* fix regression of not defocusing tool icons
2020-01-27 22:14:35 +01:00
David LuzarandGitHub 187cfbe2d8 temp hack fix for state updates (#593)
* temp hack fix state updates

* switch setTimeout for state mutation
2020-01-27 19:24:11 +01:00
David LuzarandGitHub 61264ee2d6 move title to label (#584) 2020-01-26 20:49:18 +01:00
David LuzarandChristopher Chedeau e17f743df1 change cartoonist roughness (#582) 2020-01-26 19:16:33 +00:00
David LuzarandChristopher Chedeau 7b842fc330 simplify distance helper and factor out common bounds helper (#581)
* simplify distance helper

* factor out common bounds helper
2020-01-26 19:15:08 +00:00
David LuzarandGitHub afb1d6725f Normalize dimensions (#527)
* normalize dimensions of non-linear elements

* fix element type check regression
2020-01-24 20:45:52 +01:00
4942a452e0 Lint tweaks (#502)
* lint json files & add lint ignore list

* lint against plain console logs

* Update .lintstagedrc.js

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

* format .tsconfig

* don't lint against console.info

* change log to console.info

Co-authored-by: Lipis <lipiridis@gmail.com>
2020-01-22 15:13:00 +01:00
David LuzarandGitHub 5bd1c8b3cd update events for GH actions to include PRs (#511)
* update events for GH actions to include PRs

* change action events to pull_request only
2020-01-22 14:18:31 +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
David LuzarandChristopher Chedeau 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
David LuzarandChristopher Chedeau d44c4ca2d8 flush autosave on unload (#473) 2020-01-20 09:37:42 -08:00
David LuzarandLipis 0097652b79 disallow shape selection during creation (#449) 2020-01-20 01:27:00 +02:00
David LuzarandLipis 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
David LuzarandChristopher Chedeau 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
David LuzarandFaustino Kialungila 42968ef44d enable curveFitting & bump roughjs (#373) 2020-01-15 20:01:50 +01:00
David LuzarandFaustino Kialungila 8104c8525d ensure contextMenu doesn't overflow viewport (#364) 2020-01-14 09:44:18 +01:00
David LuzarandChristopher Chedeau 58ad6d741d fix selecting elem inside already selected element (#349) 2020-01-12 11:43:31 -08:00
David LuzarandChristopher Chedeau 5887be6eda select filled elements by clicking inside (#340) 2020-01-12 11:16:48 -08:00
dwelle 81f23a8ccb fix text shape contenteditable & paste handling (fixes #293) 2020-01-10 15:51:22 +01:00
David LuzarandGitHub 2fb3cdd5e4 fix copy/paste regression (#291) 2020-01-09 18:43:24 +01:00
David LuzarandGitHub deee57314d support export canvas to clipboard (#232) 2020-01-09 17:37:08 +01:00
David LuzarandGitHub 068dca604f prevent commit on eslint warnings & fix lint (#268) 2020-01-08 20:08:43 +01:00
David LuzarandGitHub 2122a9cf9f fix for duplicating elements (#261) 2020-01-08 19:54:42 +01:00
David LuzarandGitHub 7f7f51f70b remove static/ from git & ignore (#265) 2020-01-08 19:18:17 +01:00
David LuzarandChristopher Chedeau 58ec6567ae ensure alt+drag duplicates all selected elems (#258) 2020-01-08 09:09:02 -08:00
dwelle 08b804ac63 ensure only selected elems can be resized (fixes #256) 2020-01-08 18:06:04 +01:00
dwelle 009412a093 improve typing for handlerRectangles 2020-01-08 17:05:00 +01:00
David LuzarandGitHub 1443cf1cd5 implement shift+resize for all sides (#210) 2020-01-06 21:19:21 +01:00
David LuzarandGitHub eb6f591f6f add gitter link to readme 2020-01-05 18:51:53 +01:00
David LuzarandChristopher Chedeau 490438960d fix export to support scrolling (#133) 2020-01-04 12:46:50 -08:00
David LuzarandGitHub dcf252f03c make container fullscreen (#117)
make container fullscreen
2020-01-04 19:17:17 +01:00
dwelle a1bcfb401c move css to scss 2020-01-04 19:14:12 +01:00
dwelle 250fbe2e1e make container fullscreen 2020-01-04 18:38:31 +01:00
dwelle c5d65ccb39 ensure we defocus input on canvas click
- also reuse the same detection logic for cancelling keyboard events
2020-01-04 17:46:45 +01:00
David LuzarandChristopher Chedeau e0deb68875 ensure mouse drag doesn't select texts (#32) (#111) 2020-01-04 06:22:08 -08:00
David LuzarandChristopher Chedeau c623312380 add support for clearing canvas (#108) 2020-01-04 06:20:53 -08:00
David LuzarandGitHub 2d0934fdd9 Fix: right clicking while on the canvas messes up selection (#106)
Fix: right clicking while on the canvas messes up selection
2020-01-04 12:39:06 +01:00
David LuzarandChristopher Chedeau db386b8400 fix regression of always exporting bg (#62) 2020-01-03 05:18:26 -08:00
David LuzarandChristopher Chedeau 4c1bf07863 ensure click-to-select is exclusive (fixes #43) (#45) 2020-01-02 13:03:14 -08:00
dwelle e9bc1eb98a add .vscode to .gitignore 2020-01-02 21:12:07 +01:00
dwelle 579c32b5b2 remove optional chaning
until CodeSandbox adds support for it in CRA apps
2020-01-02 20:43:00 +01:00
dwelle 4eda1cfb5d prevent exporting empty canvas 2020-01-02 18:19:00 +01:00
dwelle f091e9813e fix exporting bg for non-cropped exports
- also refactor and add comments to `exportAsPNG`
2020-01-02 18:11:58 +01:00
David LuzarandChristopher Chedeau 68eeaa3c7d add PNG export (#31) 2020-01-02 06:43:59 -08:00