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
This commit is contained in:
Gasim Gasimzada 2020-01-12 02:22:03 +04:00 committed by Christopher Chedeau
parent c253c0b635
commit f465121f9b
15 changed files with 967 additions and 430 deletions

33
src/actions/index.ts Normal file
View file

@ -0,0 +1,33 @@
export { ActionManager } from "./manager";
export { actionDeleteSelected } from "./actionDeleteSelected";
export {
actionBringForward,
actionBringToFront,
actionSendBackward,
actionSendToBack
} from "./actionZindex";
export { actionSelectAll } from "./actionSelectAll";
export {
actionChangeStrokeColor,
actionChangeBackgroundColor,
actionChangeStrokeWidth,
actionChangeFillStyle,
actionChangeSloppiness,
actionChangeOpacity,
actionChangeFontSize,
actionChangeFontFamily
} from "./actionProperties";
export {
actionChangeViewBackgroundColor,
actionClearCanvas
} from "./actionCanvas";
export {
actionChangeProjectName,
actionChangeExportBackground,
actionSaveScene,
actionLoadScene
} from "./actionExport";
export { actionCopyStyles, actionPasteStyles } from "./actionStyles";