Keavon Chambers
fc2d983bd7
Vue initialization and FloatingMenu codebase refactoring and cleanup ( #649 )
...
* Clean up Vue initialization-related code
* Rename folder: dispatcher -> interop
* Rename folder: state -> providers
* Comments and clarification
* Rename JS dispatcher to subscription router
* Assorted cleanup and renaming
* Rename: js-messages.ts -> messages.ts
* Comments
* Remove unused Vue component injects
* Clean up coming soon and add warning about freezing the app
* Further cleanup
* Dangerous changes
* Simplify App.vue code
* Move more disparate init code from components into managers
* Rename folder: providers -> state-providers
* Other
* Move Document panel options bar separator to backend
* Add destructors to managers to fix HMR
* Comments and code style
* Rename variable: font -> font_file_url
* Fix async font loading; refactor janky floating menu openness and min-width measurement; fix Vetur errors
* Fix misaligned canvas in viewport until panning on page (re)load
* Add Vue bidirectional props documentation
* More folder renaming for better terminology; add some documentation
2022-05-21 19:46:15 -07:00
0HyperCube and Keavon Chambers
060182fd31
Add the File > Export dialog and PNG/JPG downloading ( #629 )
...
* Add export dialog
* Code review changes
* More code review feedback
* Fix compilation on stable Rust
* Fixes to problems
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2022-05-09 07:35:22 +01:00
Keavon Chambers
07736a9fca
Tidy up the full frontend codebase and use optional chaining where possible ( #620 )
...
* Tidy up the full frontend codebase and use optional chaining where possible
* Code review changes
2022-04-30 02:52:53 -07:00
0HyperCube and Keavon Chambers
ac6f4ad325
All shapes now have a Fill in the properties panel; color inputs are now optional ( #583 )
...
* Add aditional stroke properties
* Make the colour input optional
* Fix fmt
* Apply code review changes
* Code review nitpicks
* Fix recursion
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2022-04-18 09:25:09 +01:00
Keavon Chambers
8c29592db8
Clean up web code's use of display CSS properties, using <LayoutRow>/<LayoutCol> where intended
2022-01-23 20:23:35 -08:00
Keavon Chambers
45d75bd13f
Move scrollable behavior into LayoutRow/LayoutCol
2022-01-22 23:02:59 -08:00
Keavon Chambers
5518384ec1
Vue/TS bug and bad typing fixes
2022-01-02 20:02:35 -08:00
Keavon Chambers
2c8d70acb4
Major frontend code cleanup ( #452 )
...
Many large changes, including:
- TypeScript enums are now string unions throughout
- Strong type-checking throughout the TS and Vue codebase
- Vue component props now all specify `as PropType<...>`
- Usage of annotated return types on all functions
- Sorting of JS import statements
- Explicit usage of Vue bind attribute function call arguments (`@click="foo"` is now `@click=(e) => foo(e)`)
- Much improved code quality related to the color picker
- Consistent camelCase Vue bind and v-model attributes
- Consistent Vue HTML attribute strings with single quotes
- Bug fix and clarity improvement with incorrect hint class parameters
- Empty Vue component objects like `props: {}` and `components: {}` removed
2022-01-02 06:00:02 -08:00
3de426b7cc
Drag to rearrange layers in the layer panel ( #434 )
...
* Add insert line
* Implement dragging
* Improve CSS and variable naming consistency
* Resolved folder crash, added Undo/Redo support
* Removed marker TODO leftover
* JS cleanup
* WIP preserving expanded state (via LayerData) when copy/pasting and moving layers in layer panel
* Finish making folders copy/paste preserving expanded state, but not recursively yet
* Add cut, copy, and paste to the Edit menu (#440 )
* Add cut
* Hook up edit dropdown
* Use copy message
Co-authored-by: Keavon Chambers <keavon@keavon.com >
Co-authored-by: otdavies <oliver@psyfer.io >
2021-12-30 17:18:18 +00:00
SonyStone and Keavon Chambers
6da903011a
Change mouse to pointer events ( #403 )
...
* Change mouse to pointer events
* Add `npm start` command
* Change all mouse to pointer events;
Fix `touch-action: none;`
* Merge with master
* Fix middle mouse click
* Remove console.log
* Delete the empty line
* Re-add middle click auto-scroll blocking
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2021-12-21 14:37:58 +03:00
Keavon Chambers
1cf90bde9a
Fix floating menus above scrollable content; they now respect content's preferred width at edges
2021-12-15 04:04:59 -08:00
Keavon Chambers and Dennis Kobert
225b46300d
Hook up layer tree structure with frontend ( #372 )
...
* Hook up layer tree structure with frontend (decoding and Vue are WIP)
* Fix off by one error
* Avoid leaking memory
* Parse layer structure into list of layers
* Fix thumbnail updates
* Correctly popagate deletions
* Fix selection state in layer tree
* Respect expansion during root serialization
* Allow expanding of subfolders
* Fix arrow direction
Co-authored-by: Dennis Kobert <dennis@kobert.dev >
2021-09-11 17:15:51 -07:00
Keavon Chambers
92953e348b
Clean up popovers: background color and placeholder text
2021-08-11 23:53:05 -07:00
Keaton Brandt
74d0e6dbc0
Fix clicking on menu bar sub-menu entries ( #337 )
...
* Fix a bug where clicking a submenu would cause the parent menu to be closed before the submenu click could be registered. Also ignores package-lock.json.
* Remove package-lock gitignore
* Add back empty line
2021-08-10 17:54:09 -04:00
Keavon Chambers
53ad105f57
Restructure project directories ( #333 )
...
`/client/web` -> `/frontend`
`/client/cli` -> *delete for now*
`/client/native` -> *delete for now*
`/core/editor` -> `/editor`
`/core/document` -> `/graphene`
`/core/renderer` -> `/charcoal`
`/core/proc-macro` -> `/proc-macros` *(now plural)*
2021-08-07 05:17:18 -07:00