-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Refactor manager internal API, speed up string filters in UI, add manager API tests #1077
Merged
Conversation
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
sc1f
added
enhancement
Feature requests or improvements
internal
Internal refactoring and code quality improvement
JS
Python
and removed
enhancement
Feature requests or improvements
labels
Jun 4, 2020
…hat manager remove callbacks removes callbacks from underlying view/table
texodus
approved these changes
Jun 24, 2020
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.
Looks good! Nice catch on the autocomplete performance bug!
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This PR reduces the public API/code footprint of
PerspectiveManager
by moving all internal logic to a separate base class, which should make the Manager API more "manageable" and easier to read. Additionally, it reduces the amount of computation required for string filters by making the suggestions list quicker to compute and serialize.Python Changelog
PerspectiveManagerInternal
, which hosts all internal methods that maintain the wire API.PerspectiveSession
being able to open/close multiple sessionsPerspectiveManager
handlingon_update
andremove_update
over the wire API__ROW_PATH__
values are now python values that match the underlying schema (datetime.datetime
for "datetime" columns, etc.) instead of strings. This behavior is now consistent withperspective.js
._PerspectiveCallbackCache
easier to use by removing the need to get the underlying list before operating on its contents_PerspectiveCallbackCache.remove_callback
to remove the callbacks for which the lambda returns True. This changes its behavior and makes it no longer consistent withfilterInPlace
, which is used in the Javascript version of Perspective to remove callbacks.numpy.isnat
and fixes several pandas and numpy tests around datetimesisinstance(str)
withisinstance(six.string_types)
for Python 2 compatibilityJS Changelog
view
withcolumns=[]
instead of serializing all columns and immediately disposing of them.