-
-
Notifications
You must be signed in to change notification settings - Fork 4.2k
Implement the Route Manager API (RFC #1169) #21460
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
evoactivity
wants to merge
89
commits into
emberjs:main
Choose a base branch
from
mainmatter:rfc-1169-route-manager
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 61 commits
Commits
Show all changes
89 commits
Select commit
Hold shift + click to select a range
b7128a1
Implement the Route Manager API (RFC #1169)
evoactivity 68781db
fix typescript problem
evoactivity 7582a9f
moves the route manager types up a level to avoid the nonsense the ty…
evoactivity 07c5731
update tree shakability snapshots
evoactivity 67fbf1d
add a few missing public exports
evoactivity 347cefd
ensure classic substate lookups only run for classic manager routes
evoactivity c3b21ec
remove wrapper from base RouteStateBucket interface
evoactivity 20fcd21
remove name from classic route wrapper
evoactivity 72c3303
remove lookup intercept
evoactivity d84de44
add a getRenderState to the manager contract
evoactivity da6320d
change classic route manager wrapper to use context instead of model
evoactivity a71f713
fix broken getAncestorContext
evoactivity 02aea99
EmberRouter.getRoute now returns unknown
evoactivity edb1ebf
Merge branch 'main' into rfc-1169-route-manager
evoactivity 2fc7e31
try to fix tree-shakability test
evoactivity c088ca8
update tree-shakability snapshot
evoactivity 985d3c6
remove intercept
evoactivity 1663f21
refactor: add manager.getRoute(bucket)
BobrImperator 6be29bb
remove isBaseRoute
evoactivity f487008
Merge pull request #2 from mainmatter/bart/rfc-1169-route-manager
evoactivity 2cd2a65
remove fallback path for legacy templates and upgrade templates passe…
evoactivity 5cc6e62
keep `getRoute` as returning `unknown`
evoactivity dd3d59a
uses the bucket to pass in the controller to the wrapper component
evoactivity 83ce52e
ensure RouteStateBucket is fully opaque
evoactivity ac6c449
remove knowledge of controller's from the route-template component ma…
evoactivity 68f01b8
move const ref args from outlet helper to route manager
evoactivity 3cc6787
add comment explaining why we need to await the enter promise to back…
evoactivity 5a344c4
pass enterPromise directly to resolved route info
evoactivity ffa1b8e
undo route info passthrough
evoactivity b040925
add getRoute to route manager contract
evoactivity 29d6bdc
- fable found dead code, remove it
evoactivity 81f9dab
fable improved how manager and bucket are accessed in the framework: …
evoactivity ccb71e4
remove classic lifecycle duplication and route substate handling thro…
evoactivity 6d32e47
simplify the outlet render path
evoactivity c815301
restore two classic behaviors dropped by the manager extraction, with…
evoactivity 0377177
small cleanups across the route lookup and ancestor-context paths
evoactivity 0b7fe86
keep the getRouteWrapper module-stable, make the wrapper optional, an…
evoactivity 796dc96
deliver all outlet args via the curried render target
evoactivity d5da652
Merge remote-tracking branch 'upstream/main' into rfc-1169-route-manager
evoactivity 166f902
rename managed route functions to route management
evoactivity 945b6bf
fix lints
evoactivity a93e6cf
remove removed barrel file from renamed-modules
evoactivity 0f6de0d
feat: add a produeContext callback to routeManager
BobrImperator e51fee2
Merge branch 'main' into rfc-1169-route-manager
BobrImperator 68fc807
small experiment with a new @outlet
mansona c0522c5
fix: invoke outlet helper before passing it as named arg
BobrImperator 4b0f767
feat: transform {{outlet}} to <@outlet />
BobrImperator b9663d8
WIP: fix debug render tree?
mansona eb25131
try to use renderComponent for toplevel
mansona 4ce9867
fix: error while rendering outlet without dynamicScope
BobrImperator e942972
feat: creat a root-outlet.ts to replace the -outlet view
BobrImperator 7b90594
refactor: cleanup OutletView and OutletTemplate
BobrImperator eb11aa1
fix: pass renderer to resolve {{mount}}. Fix rootElement on boot
BobrImperator 9d626c1
wip: bulk AI test fixes
BobrImperator 809cbc4
fix: avoid circular dependency cycle
BobrImperator 6382317
refactor: uncomment debug-render-tree tests
BobrImperator 523d52e
run format
BobrImperator 91ba5f6
refactor: move outlet beside route-manager
BobrImperator 2f5eac9
chore: use @ember-test-helpers patch emberjs/ember-test-helpers#1573
BobrImperator 9c6f170
fix: change the node-tests harness to align with emberjs/ember-test-h…
BobrImperator e9541dc
Merge pull request #4 from mainmatter/test-new-outlet
BobrImperator 9944b17
test: scenario funky route manager
BobrImperator 89fad30
Merge pull request #5 from mainmatter/rfc-1169-scenario-funky-route-m…
BobrImperator 6479e4b
feat: re-export makeRouteTemplate for pioneer-manager
BobrImperator 4ce8cc8
wip: remove OutletComponent construction from outlet
BobrImperator cf6abee
wip: cache outlet renders again
BobrImperator 5f6b811
wip: probes
BobrImperator 4531356
fix: wrapper doesn't need to double call helper
BobrImperator e8d4faf
refactor: move outlet component caching into OutletComponent
BobrImperator a18167b
perf: build @outlet in prepareArgs instead of calling (outlet)
BobrImperator d72e0ac
perf: select the outlet layout via getDynamicLayout
BobrImperator 1c7ddd8
refactor: move producing the context value to the OutletComponent
BobrImperator 156c47c
refactor: drop unread controller from OutletDefinitionState
BobrImperator b4db280
refactor: add getRenderInvokable to manager
BobrImperator be50cad
refactor: remove outletState channel and outletHelper
BobrImperator f2ace86
feat: kill wrapper manager
BobrImperator 7dbd25a
feat: encapsulate classic in OutletComponent
BobrImperator 3e05dd1
refactor: remove manager specific fields from renderState
BobrImperator 2d7c98a
feat: remove wrapper -> outlet is the wrapper now
BobrImperator 8d77b14
cleanup: remove probes
BobrImperator 4d64588
chore: cleanup comments
BobrImperator 3cbdaa1
refactor: reactivity via BucketRenderState
BobrImperator 7d4fb50
refactor: make renderstate tracked
BobrImperator 1f8d011
refactor: remove unnecessary static method
BobrImperator 582dda2
refactor: remove getRenderContext, cleanup unused owner
BobrImperator 66cc2e7
refactor: merge outlet-template with manager
BobrImperator 9cf90fc
Collapse route rendering layers into manager and outlet-component
BobrImperator 2364c8e
Merge remote-tracking branch 'mm/main' into rfc-1169-route-manager
BobrImperator fcb7291
Merge remote-tracking branch 'mm/main' into rfc-1169-route-manager
BobrImperator File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Porting over a comment from @NullVoxPopuli
this will need a bunch more tests <3
in particular:
and do the reactivity of A and B stay in the same location and not re-order themselves?
(This was the issue I ran in to during implementation, in that whatever was updated last would become last in DOM-order)
(also, I think this behavior will need its own RFC, describing the stability of render-order (and update-order), and probably
appendTorather than a booling, imo -- boolean configurable options are a bit of an ick for me)There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we should pull this out in to a separate PR and discuss test cases here -- I tried to implement this in an earlier iteration of renderComponent, and backed it out due to ordering-inconsistencies upon update of tracked state within the root region of the rendered area
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
potentially related: #21551
(rendering in to "Node"s rather than elements)