Commit graph

2962 commits

Author SHA1 Message Date
Jordan Eldredge
6e5e701f6d Add some missing method return types 2019-11-30 13:42:53 -08:00
Jordan Eldredge
f356af6d6a Implement some simple System methods 2019-11-30 13:42:53 -08:00
Jordan Eldredge
c5c519eb0b Add a <title> 2019-11-30 13:42:53 -08:00
Jordan Eldredge
700b10c898 Don't return undefined in asyncTreeFlatMap
Subsequent calls will try to access `node.children`, so we have to return some kind of object.

Prevents a failure in http://localhost:8080/modern?skinUrl=https%3A%2F%2Farchive.org%2Fcors%2Fwinampskin_EMP%2FEMP.wal

Now it fails due to opcode 255
2019-11-30 13:42:53 -08:00
jberg
9f430b7d34 Opacity tweak (#899) 2019-11-30 13:42:53 -08:00
Jordan Eldredge
5c7e87e997 Fix opacity 2019-11-30 13:42:53 -08:00
Jordan Eldredge
a4ec43c670 Mark GuiObject.isvisible as implemented 2019-11-30 13:42:53 -08:00
Jordan Eldredge
3d026a03b8 Remove unreachable code 2019-11-30 13:42:53 -08:00
Jordan Eldredge
4f3178936f Only render the current layer for each container 2019-11-30 13:42:53 -08:00
Jordan Eldredge
458fb426c9 Small cleanup refactor 2019-11-30 13:42:53 -08:00
Jordan Eldredge
25cc7fc959 Move visibility check to GuiObjectEvents
Eventually I think we will have a compositional heirarchy that mirrors the inheritance hierarchy so GuiObjectEvents will become GuiObjectsComponent or similar.
2019-11-30 13:42:53 -08:00
Jordan Eldredge
7908c900cd Allow components to render their own children 2019-11-30 13:42:53 -08:00
Jordan Eldredge
85b423cca8 Extract rendering children 2019-11-30 13:42:53 -08:00
Jordan Eldredge
a19fec2a42 Split out unknown component into DummyComponent 2019-11-30 13:42:53 -08:00
Jordan Eldredge
8f1b48d186 Don't generalize wrapping with <GuiObjectEvents>
I think it's better to just make this an implementation detail of the individual components

In the future, I think the components will take on more and more. They should be the single source of truth for how a Maki object renders itself.
2019-11-30 13:42:53 -08:00
Jordan Eldredge
acbfb6660a Remove unused pos and use shorthand 2019-11-30 13:42:53 -08:00
Jordan Eldredge
850d816736 Use the first layout when rendering the child of a container 2019-11-30 13:42:53 -08:00
Jordan Eldredge
98ad08c196 Add type for Container.visible 2019-11-30 13:42:53 -08:00
Jordan Eldredge
7315366d58 Fix a few type errors 2019-11-30 13:42:53 -08:00
Jordan Eldredge
9e72e6a15a Add more tree search utilities 2019-11-30 13:42:53 -08:00
Jordan Eldredge
e3fb7312ec Remove unused code 2019-11-30 13:42:53 -08:00
Jordan Eldredge
6adc604a50 Remove old comment 2019-11-30 13:42:53 -08:00
Jordan Eldredge
e29223bb8c Automatically add some types to Maki method arguments
These were added using `yarn lint --fix`.
2019-11-30 13:42:53 -08:00
Jordan Eldredge
8a03e87849 Start adding rule to add types to maki method argument 2019-11-30 13:42:53 -08:00
Jordan Eldredge
272e2ab37e Make all Maki objects TypeScript 2019-11-30 13:42:53 -08:00
Jordan Eldredge
ef78b93ef3 XmlNodes don't have parent references 2019-11-30 13:42:53 -08:00
dependabot[bot]
e89efc25ca Bump mixin-deep from 1.3.1 to 1.3.2 (#894)
Bumps [mixin-deep](https://github.com/jonschlinkert/mixin-deep) from 1.3.1 to 1.3.2.
- [Release notes](https://github.com/jonschlinkert/mixin-deep/releases)
- [Commits](https://github.com/jonschlinkert/mixin-deep/compare/1.3.1...1.3.2)

Signed-off-by: dependabot[bot] <support@github.com>
2019-11-30 13:42:53 -08:00
Jordan Eldredge
0b299ec843 Try out Actions (#892)
* Update nodejs.yml

* Try using Yarn

* push is more generic than pull_request

We don't need both
2019-11-30 13:42:53 -08:00
dependabot[bot]
9566c4b6a8 Bump eslint-utils from 1.4.0 to 1.4.2 (#891)
Bumps [eslint-utils](https://github.com/mysticatea/eslint-utils) from 1.4.0 to 1.4.2.
- [Release notes](https://github.com/mysticatea/eslint-utils/releases)
- [Commits](https://github.com/mysticatea/eslint-utils/compare/v1.4.0...v1.4.2)

Signed-off-by: dependabot[bot] <support@github.com>
2019-11-30 13:42:53 -08:00
jberg
090971a552 Fix emitter export (#890) 2019-11-30 13:42:53 -08:00
jberg
eb2b318af8 Remove script loading from initialize (#889) 2019-11-30 13:42:53 -08:00
Jordan Eldredge
f10ca23501 Improve types 2019-11-30 13:42:53 -08:00
Jordan Eldredge
5770909391 Decompose findParentNodeOfType 2019-11-30 13:42:53 -08:00
Jordan Eldredge
09f5415df4 Letters are cheap 2019-11-30 13:42:53 -08:00
jberg
ea3fce138b Set opacity and ghost at GuiObject (#885)
* Set opacity and ghost at GuiObject

* add parseInt radix param

* move style calculations into GuiObjectEvents

* fixes after rebasing

* add alpha range in comment

* simplify alpha condition
2019-11-30 13:42:53 -08:00
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