-
Notifications
You must be signed in to change notification settings - Fork 6.8k
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
fix(autocomplete): remove old classes when classlist has changed #15185
fix(autocomplete): remove old classes when classlist has changed #15185
Conversation
Currently we have some logic that syncs the classes between the autocomplete host element and the panel, however this logic doesn't account for classes being removed. Fixes angular#15179.
} | ||
|
||
this._setVisibilityClasses(this._classList); | ||
this._elementRef.nativeElement.className = ''; |
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.
I see it was like this before, but doesn't this wipe out .mat-autocomplete
?
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.
It does, but that's the point. This is the element that is left behind in the view after it provides the ng-template
for the overlay panel.
value.split(' ').forEach(className => this._classList[className.trim()] = true); | ||
this._elementRef.nativeElement.className = ''; | ||
this._classList = value.split(' ').reduce((classList, className) => { | ||
classList[className.trim()] = true; |
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.
I think the .trim() not needed because of split(' ').
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.
LGTM
This issue has been automatically locked due to inactivity. Read more about our automatic conversation locking policy. This action has been performed automatically by a bot. |
Currently we have some logic that syncs the classes between the autocomplete host element and the panel, however this logic doesn't account for classes being removed.
Fixes #15179.