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 refactors
<perspective-viewer>
to move some engine configuration from compile-time to run-time (via an elaboratedClient::get_features
call), which in the future may make it easier to implement alternative engines. Perspective enables all features by default and there is no public API to disable them, so this change is mostly UX transparent (except as noted):Aggregates function names and filter operators have been moved to
Client::get_features
.Table::validate_expressions
has been gated behind theexpressions
feature, as has the expression UI."filter", "sort", "split_by" and "group_by" UI have been conditioned on
Client::get_features
named after theirconfig
property names.Real-time notifications have been conditioned on the
on_update
feature.Minor breaking change - the format of
Client::get_features
has been changed. However, only new keys have been added ("aggregates", "filter_ops" and "on_update" and "sort")and I suspect this method to be rarely (if ever) used outside ofperspective-viewer
itself.Minor breaking change - the config format for multi-argument aggregates
weighted mean
,max by
andmin by
has been changed, old:New:
This is necessary to allow 3+ parameter aggregates.