Commit graph

2477 commits

Author SHA1 Message Date
Jordan Eldredge
db8bbf0102 Add some generic methods for dealing with selectors (#888) 2019-11-30 13:42:53 -08:00
Jordan Eldredge
2790a2995b Stub Out Missing Methods (#887)
* Add fixable rule to report missing Maki methods

* Stub out missing methods

These were auto-generated with the ESLint rule

* Don't lint on too many params, when the params are defined by Maki

* Improve objects tests now that all maki methods are stubbed out

Now we can assume all methods exist and we can also start a list of unimplemented methods
2019-11-30 13:42:53 -08:00
Jordan Eldredge
646753526b Fix lints 2019-11-30 13:42:53 -08:00
Jordan Eldredge
fda5765ff6 Allow private methods in objects test 2019-11-30 13:42:53 -08:00
Jordan Eldredge
02dc54b1e4 Don't complain about private methods 2019-11-30 13:42:53 -08:00
Jordan Eldredge
82c6308b16 [WIP] Give Maki objects access to Redux state (#882)
* Share uids between maki objects and state tree

* Start to add xml tree
2019-11-30 13:42:53 -08:00
Jordan Eldredge
a5cd2439d6 Avoid messagebox logs in our tests (#884)
This was a fun one
2019-11-30 13:42:53 -08:00
Jordan Eldredge
4b98df70cb Test method arity in standard library 2019-11-30 13:42:53 -08:00
Jordan Eldredge
cc09a8b9be Add modern integration tests (#881)
* add 2 test skins

* Add simple integration tests

* Simplify test skins
2019-11-30 13:42:53 -08:00
Jordan Eldredge
a864a842b3 Persist skin URL to query param 2019-11-30 13:42:53 -08:00
jberg
7bdad849ef Add missing config classes (#874)
* Add missing config classes

* fix test
2019-11-30 13:42:53 -08:00
Jordan Eldredge
74049b88bd Add flag to state indicating when skin is loaded 2019-11-30 13:42:53 -08:00
Jordan Eldredge
ec67b40fc4 Extract browser-only functions into Utils
This will make it easier to mock out these methods in tests to use Node apporaches to these problems
2019-11-30 13:42:53 -08:00
jberg
a95d215b59 Fix filename slashes (#880)
* Fix windows filename slashes

* add comment

* readXml will already convert the slashes
2019-11-30 13:42:53 -08:00
jberg
63a2e99a78 Fix script group finding (#877) 2019-11-30 13:42:53 -08:00
Jordan Eldredge
be2ab37809 Fix typing for Desktop 2019-11-30 13:42:53 -08:00
Jordan Eldredge
60c0ad1e16 Actually use useDispatch 2019-11-30 13:42:53 -08:00
Jordan Eldredge
e79520dbdd Don't allow global access to all of window
We had a bug where `stop()` was undefined but it fell back to the function on window which was inplicitly in the global scope.

This should reduce that kind of thing.
2019-11-30 13:42:53 -08:00
Jordan Eldredge
0472033fba Make Desktop a functional component with hooks 2019-11-30 13:42:53 -08:00
Jordan Eldredge
e3b3eab63e Make AlbumsTable a functional component 2019-11-30 13:42:53 -08:00
Jordan Eldredge
ab6d1ff3bb Fix the stop button
Aparently window.stop() is a thing, and ESLint/TypeScript let me do this. Sigh.

A potential fix: https://github.com/facebook/create-react-app/pull/1840
2019-11-30 13:42:53 -08:00
Jordan Eldredge
567ad29a76 Use react-redux hooks for MainWindow/index
This is the last main window component still using the HOC!
2019-11-30 13:42:53 -08:00
Jordan Eldredge
c1cfd98b21 Remove unused types 2019-11-30 13:42:53 -08:00
Jordan Eldredge
cc578845a6 Use react-redux for Position and Repeat 2019-11-30 13:42:53 -08:00
Jordan Eldredge
9b9421ae54 Use react-redux hooks in Shade 2019-11-30 13:42:53 -08:00
Jordan Eldredge
80c4e2fa10 Use react-redux hooks in Shuffle 2019-11-30 13:42:53 -08:00
Jordan Eldredge
81b5bcfdfd Use react-redux hooks in Time 2019-11-30 13:42:53 -08:00
Jordan Eldredge
f51e51eea2 Use hooks for main context window 2019-11-30 13:42:53 -08:00
Jordan Eldredge
f4230553a8 Type PlaylistTogggleButton 2019-11-30 13:42:53 -08:00
Jordan Eldredge
e7c474e7f6 Inline style 2019-11-30 13:42:53 -08:00
Jordan Eldredge
e345d07e41 Use react-redux hooks for Marquee 2019-11-30 13:42:53 -08:00
Jordan Eldredge
822391c401 Clean up unused type 2019-11-30 13:42:53 -08:00
Jordan Eldredge
f32de1e653 Use react-redux hooks in a few more places 2019-11-30 13:42:53 -08:00
Jordan Eldredge
d6454510a9 Refactor Marquee to use hooks
This actually removes a bunch of edgecases/race conditions
2019-11-30 13:42:53 -08:00
jberg
b2cc88ae0b add button left/rightclick functions (#878) 2019-11-30 13:42:53 -08:00
jberg
943078f256 Add delete opcode (#869) 2019-11-30 13:42:53 -08:00
jberg
e9950e83ce Add some unimplemented methods to classes (#872)
* Add some unimplemented methods to classes

* fix test
2019-11-30 13:42:53 -08:00
jberg
f633e676ce Pass store into skin loading (#875) 2019-11-30 13:42:53 -08:00
jberg
2ffc3ee237 Add more nodes to initialize (#873) 2019-11-30 13:42:53 -08:00
jberg
b732613826 Add some more methods to classes (#871)
* Add some more methods to classes

* fix test
2019-11-30 13:42:53 -08:00
jberg
19b3132ade First check object type for subclass (#870) 2019-11-30 13:42:53 -08:00
jberg
0297eb726a Convert null MAKI objects to global NULL value (#866)
* Coerce null MAKI objects to 0

* use global NULL value
2019-11-30 13:42:53 -08:00
Jordan Eldredge
e58647964b Add a simple way to change skins 2019-11-30 13:42:53 -08:00
jberg
920ed4558c Add more modern skins that partially render (#867)
* Add more modern skins that partially render

* Use skinUrls from archive instead of including skin zips

* add a few more skins from archive
2019-11-30 13:42:53 -08:00
Jordan Eldredge
a85baef757 Custom ESLint rule to validate Maki classes (#868) 2019-11-30 13:42:53 -08:00
Jordan Eldredge
0aeeff413d Add unique ID to each node in the state tree 2019-11-30 13:42:53 -08:00
Jordan Eldredge
d1dedf01c5 Add glob dependency and allow rules that only warn 2019-11-30 13:42:53 -08:00
Jordan Eldredge
9702c92b2e no-else-return 2019-11-30 13:42:53 -08:00
Jordan Eldredge
56ff4153ba eqeqeq 2019-11-30 13:42:53 -08:00
Jordan Eldredge
c1162dd74b Don't return await from async func 2019-11-30 13:42:53 -08:00