mirror of
https://github.com/gramps-project/gramps-web.git
synced 2026-10-18 14:27:27 +08:00
e00092c63a
* Add an advanced filter to the object lists The filter panel of the object lists gets an "Advanced filter" button that opens a condition builder. Conditions are Gramps rules from the catalogue of /api/filters, picked from a searchable list grouped by collapsible categories. Groups combine their conditions with "all", "any" or "exactly one", can be negated and nested, and a single condition can be negated as well. Parameters get an input of their type when the backend describes it (dates, tags, Gramps types, choices, numbers, checkboxes, and the object selector for IDs), and a text field otherwise. The catalogue is requested in the user's language, with a retry without it for backends that don't accept the locale argument. Rules that refer to custom filters are not offered. The active facet filters open in the builder as conditions, and a builder filter that the facets can show goes back to them. Any other filter shows as one "Advanced filter" pill, and the facet sections point to the builder while it is active. A GQL query applies on top of either. Selected filter chips, here and in the toggle buttons, use the primary color for their check mark. * Address comment * Style tweak * Fix issues found in review of the advanced filter - Require a tag for tag parameters - Set the object name of the repositories view - Move the group options menu to the clicked group - Keep the object selector working when its ID changes while loading - Use a fixed menu position for the object selector in the dialog - Avoid duplicate and stuck rule catalogue requests - Reload Gramps types and tags whenever the dialog opens - Mark required parameters - Remove the unused regex field of conditions - Use the Gramps string for Back * Address review comment * Ignore Escape in the group menu and focus the rule search