Refactor filtering, ordering and pagination #1761
Draft
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.
Filters
Core
Backpex.FilterValidationfor changeset-based validationbuild_changeset/3: builds schemaless changeset from URL paramsvalid_values/1: extracts only validated filter valuesbuild_types/2: builds type map from filter configurationsNew Filter Callbacks
type/1: specifies Ecto type for casting URL paramschangeset/3: allows custom validation logic per filtervalidate/2: public API for testing validationExisting Filter Updates
options/1LiveResource
index.exto useFilterValidation.build_changeset/3@filter_formassign (Phoenix form from changeset)@filter_valuesassign (only valid, casted values)Ecto Adapter
apply_filters/4toapply_filters/3(removedempty_filter_keyparameter)Ordering & Pagination
lib/backpex/query_options_validation.exfor validating URL parameters