Skip to content

CSS refactoring #2465

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

Merged
merged 1 commit into from
Jul 19, 2016
Merged

CSS refactoring #2465

merged 1 commit into from
Jul 19, 2016

Conversation

PanayotCankov
Copy link
Contributor

@PanayotCankov PanayotCankov commented Jul 18, 2016

Features:

  • Improve performance when an App has multiple id and class selectors.
  • Improve the control state pseudo class support to allow non mutually exclusive states.
  • Allow pseudo classes and attributes to work with combinators (e.g. [myAttrib="yes"] > .figure { color: red; })

Did:

  • Split type.class from CssTypeSelector to CssCompositeSelector, probably support type#id.class selectors
  • Add tests for the css selectors parser.
  • Added tests for css-selectors
  • Added basic implementation of mayMatch and changeMap for css match state
  • Implemented TKUnit.assertDeepEqual to check key and key/values in Map and Set
  • Watch for property and pseudoClass changes
  • Updated the mechanism to enable/disable listeners for pseudo classes on-demand

Adding some numbers:

QSF startup time

orig refactored
2163 2045
2100 2022
1941 2033
2046 2011
1958 2020
1973 2025
Avg
2030 2026
StdDev
89 12

listViewCellForItemAtIndexPath for 2 cells with image and two labels in the QSF

orig refactored
121.0 93.31
121.7 89.88
120.8 91
119.5 88.5
Avg
120.75 90.67
StdDev
0.91 2.03

@PanayotCankov PanayotCankov added this to the 2.2.0 milestone Jul 18, 2016
@PanayotCankov PanayotCankov force-pushed the css-hash-lookup-2 branch 3 times, most recently from 7494480 to 6021811 Compare July 18, 2016 09:51
@PanayotCankov PanayotCankov reopened this Jul 18, 2016
Split type.class from CssTypeSelector to CssCompositeSelector, probably support type#id.class selectors

Apply review comments, refactor css-selectors internally

Applied refactoring, all tests pass, button does not notify changes

Add tests for the css selectors parser.

Added tests for css-selectors

Added basic implementation of mayMatch and changeMap for css match state

Implemented TKUnit.assertDeepEqual to check key and key/values in Map and Set

Watch for property and pseudoClass changes

Add one child group test

Add typings for animations

Added mechanism to enable/disable listeners for pseudo classes

Count listeners instead of checking handlers, reverse subscription and unsubscription
@PanayotCankov PanayotCankov reopened this Jul 18, 2016
@PanayotCankov PanayotCankov self-assigned this Jul 19, 2016
@PanayotCankov PanayotCankov added ready for test TSC needs to test this and confirm against live production apps and automated test suites and removed in progress labels Jul 19, 2016
cssType: string;

visualState: string;
cssClasses: Set<string>;
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

mark as private

@PanayotCankov PanayotCankov merged commit 849736e into master Jul 19, 2016
@PanayotCankov PanayotCankov deleted the css-hash-lookup-2 branch July 19, 2016 15:00
@PanayotCankov PanayotCankov removed the ready for test TSC needs to test this and confirm against live production apps and automated test suites label Jul 26, 2016
@lock
Copy link

lock bot commented Aug 28, 2019

This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@lock lock bot locked and limited conversation to collaborators Aug 28, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants