-
Notifications
You must be signed in to change notification settings - Fork 601
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
feat: DesignToken refactor for FF3 #6171
Merged
nicholasrice
merged 97 commits into
master
from
users/nirice/design-token-refactor-exploration
Aug 9, 2022
Merged
Changes from 1 commit
Commits
Show all changes
97 commits
Select commit
Hold shift + click to select a range
7128199
adding interfaces for new API structure
nicholasrice 9451732
adding tests for appendChild / removeChild
nicholasrice 469b1d6
add a stub implementation of DesignToken
nicholasrice 6452e01
adding minimal design token interface
nicholasrice c5d27e9
save-progress
nicholasrice 5d7e8cb
adding notification logic
nicholasrice 18f6ba2
re-organize notification propagation logic
nicholasrice 0dba736
adding getTokenValue and tests
nicholasrice 56eb369
add notification behavior to appndChild
nicholasrice 1a3181b
refactor to use string id
nicholasrice 65f70bd
rename method to retrieve all tokens for a node
nicholasrice afc9467
refactor to fix chai bug and issues uncovered when avoiding chai issue
nicholasrice dcfa22f
refactor a bit to centralize notifier for tokens on the token object β¦
nicholasrice 5450c15
adding new test for no notification when assigned the same value
nicholasrice 64a4988
fixing test
nicholasrice 43ea386
adding subscription test
nicholasrice 610a61e
implement isAssigned
nicholasrice 7348d91
progress on derived tokens
nicholasrice f83ad12
implement mechanism to notify of static token changes
nicholasrice 6000841
make derived token assignments notify down the token tree
nicholasrice 7d072ab
adding and adapting test-cases from original DesignToken implementation
nicholasrice fc127d9
re-organization of DesignTokenNode
nicholasrice 4972675
adding observable map to notify for derived values
nicholasrice 8bb74ac
naieve implementation of reflecting upstream derived tokens
nicholasrice 702946c
re-oragnize feature and add exports to facilitate testing
nicholasrice 2c7f237
implement circular reference resolution and made a few perf changes
nicholasrice c23d40f
adding another circular reference test
nicholasrice 5a08370
adding deleteTokenValue API and privatizing isDerivedFor
nicholasrice 8050deb
adding subscription tests
nicholasrice a9d431e
update test names
nicholasrice 68b801d
further test clean up
nicholasrice c2d7f93
more tests and slight performance improvement
nicholasrice 0baa844
method organization
nicholasrice 06050e6
remove observableMap implementation to provide better control over toβ¦
nicholasrice acd0014
implement more specific notification behavior
nicholasrice e6b0e35
fixing test so it passes w/ new notification behavior
nicholasrice 800c569
adding test package
nicholasrice b325bcb
adds behavior to handle observable value updates
nicholasrice 014cac2
adding additional observable tests
nicholasrice 967371b
refactor token notification to contain mutation type data
nicholasrice 4aeb734
refactor notifications and fix token deletion tests
nicholasrice 3b90057
adding notification behavior to appending a node
nicholasrice 9282a21
update readme with perf improvement notes
nicholasrice 19b3ed6
in-progress changes for node notification on removal of token and refβ¦
nicholasrice cb9b7aa
refactor notification behavior and fix all test
nicholasrice 18859c1
batch notifications so the tree is reconciled before subscribers are β¦
nicholasrice 2529b25
implement DesignToken over top of DesignTokenNode, CSS reflection
nicholasrice fab4d24
isolate design token core from FAST design token implementation
nicholasrice 2ac114a
implement root registration
nicholasrice 647d172
Ensure nodes for detached elements can access the defualt node
nicholasrice 33d4d80
passing all tests
nicholasrice 5c139d2
fixing tests
nicholasrice 9ae5283
fixing import
nicholasrice 7a59750
a bit of cleanup
nicholasrice 08357b6
refactor type constraints that opens up exporting the token classes iβ¦
nicholasrice ddb6cde
re-organizing files
nicholasrice 6288009
re-organize assets, exports, and files. delete legacy design-token
nicholasrice 2afabb3
fix bug in recursive reconciliation of tokens
nicholasrice d4a5357
update adaptive UI package
nicholasrice 872dc78
consolidate notification queue
nicholasrice b6c2f56
add children notifier function
nicholasrice 723cd3b
make CSSDesignToken a real CSSDirective
nicholasrice 84a17d4
fixing circular dependency notification bug
nicholasrice 1ccd633
fixing bug in CSS design token css value calculation
nicholasrice 83e22d8
implement observable derived value structure
nicholasrice 0eac178
refactor to not itterate through all derived values during update
nicholasrice b5e8e9c
improving performance of derived tokens
nicholasrice 8dce1b9
fixing example
nicholasrice 5d51044
removing un-necessary method
nicholasrice d93b56f
adding css directive test
nicholasrice 8e4dd3c
create tokens with unique name
nicholasrice 9faadf3
lazily create subscriber set for tokens
nicholasrice 959cfa5
implement resolution strategy
nicholasrice d037ca3
removing debugging spies
nicholasrice 72b40a3
fixing bug in observable bindings where the watcher was not reset if β¦
nicholasrice 9baeaf6
fixing memory leak caused by observable subscribers
nicholasrice e32a146
cleaning up design-token-node tests
nicholasrice a85c0a2
removing tests for scenario that is no longer supported
nicholasrice 9e29f8b
adding method comments
nicholasrice fef9ec8
remove test package
nicholasrice f9043a1
fixing after rebase
nicholasrice dca161c
Merge branch 'master' into users/nirice/design-token-refactor-exploraβ¦
nicholasrice 81da3c7
Change files
nicholasrice 6b646dc
Merge branch 'users/nirice/design-token-refactor-exploration' of httpβ¦
nicholasrice f8dc19d
Update change/@microsoft-adaptive-ui-881bac8a-4800-4331-9138-0c658998β¦
nicholasrice a9d2d15
Update change/@microsoft-fast-element-2a4431cf-f1de-44ed-bae4-392f10bβ¦
nicholasrice edeb884
Update change/@microsoft-fast-foundation-d9cdf375-e6b7-4a6e-87e6-81dcβ¦
nicholasrice baea9b5
removing test site from workspaces
nicholasrice 63ea814
removing readme that is getting processesd by custom element manifestβ¦
nicholasrice e1ecf34
adding API documentation
nicholasrice 4a9a81a
removing notes file
nicholasrice a2f6319
fixing build
nicholasrice 9d0adfe
Merge branch 'master' into users/nirice/design-token-refactor-exploraβ¦
nicholasrice 7e6454b
Merge branch 'master' into users/nirice/design-token-refactor-exploraβ¦
nicholasrice 19ecfd3
Update change/@microsoft-fast-foundation-d9cdf375-e6b7-4a6e-87e6-81dcβ¦
nicholasrice fb343cf
Update packages/web-components/fast-foundation/src/design-token/fast-β¦
nicholasrice 9bd20b4
Merge branch 'master' into users/nirice/design-token-refactor-exploraβ¦
nicholasrice 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
refactor to not itterate through all derived values during update
- Loading branch information
commit 0eac178419f919170d599bc169d7d120887ea4b9
There are no files selected for viewing
This file contains 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 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
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.
Not sure if it makes sense, but would there be an efficiencies gained by instead sending the list of records to child instead of using nested for loops to send the individual records? Maybe they just have to loop internally anyway and so there's no advantage. Just thought I'd check.
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.
Follow on question, is this the dispatch an array improvement slated for a later date?
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.
Yeah I touched on it in our sync, but I think we can see some improvement by reconciling all changes for each node and dispatching a set of mutations instead of dispatching one mutation at a time. I'll file a tracking issue.