appEventDispatcher.dispatch("showModal", <ModalId>)
if modalId === "" then the keyboard-handler will be active
fix to version - to not get in trouble:
"@types/paper": "0.11.9",
"paper": "0.12.0",
there are some items with name "temp" (bounding box, item for drawMode: 'select', 'hover', 'edit'). they should not be be found by PaperJs hitTest(). So there is a 'match' function on the hitTest call. and the drawMode items are created with item.name = "temp"
started on CodeSandbox
Layout inspired by CodeSandbox ;-) / Whimsical
https://github.com/typicode/json-server
##svg icons http://svgicons.sparkk.fr/ http://www.zondicons.com/icons.html http://www.steveschoger.com/2018/01/04/introducing-heroicons-ui/
https://facebook.github.io/create-react-app/docs/adding-images-fonts-and-files
if ( "myprop" in obj) {
// obj.myprop exists
}
DefinitelyTyped/DefinitelyTyped#26871
ref = { comp => this.myCompRef = (comp as any).getWrappedInstance() }
when using call, the arguments has to be separated
const result = yield call(getPointSaga, actionTypes.MOUSE_DOWN);
const result = yield getPointSaga(actionTypes.MOUSE_DOWN);
use .env (dotenv),
start environment varialbe with REACT_APP_
https://medium.com/@tacomanator/environments-with-create-react-app-7b645312c09d
http://sviridovserg.com/2017/05/16/cd-with-travis-and-azure/
https://github.com/Microsoft/TypeScript-React-Starter#typescript-react-starter
http://choly.ca/post/typescript-json/
UPDATE*... Actions => payload is the new object that will exchange the old object with the same .id.
So before dispatch(UPDATE*...Action ) a new object has to be created by deepClone(currentObject)
keyboard commands of whimsical.co https://help.whimsical.co/faqs/keyboard-shortcuts
yarn add -D jest-canvas-mock
in the jest setup file:
import "jest-canvas-mock"
create ''.env'' file:
REACT_APP_GRAPHQL_SERVER=http://localhost:8080