mirror of
https://github.com/simonw/datasette.git
synced 2025-12-10 16:51:24 +01:00
Datasette previously only supported one type of faceting: exact column value counting. With this change, faceting logic is extracted out into one or more separate classes which can implement other patterns of faceting - this is discussed in #427, but potential upcoming facet types include facet-by-date, facet-by-JSON-array, facet-by-many-2-many and more. A new plugin hook, register_facet_classes, can be used by plugins to add in additional facet classes. Each class must implement two methods: suggest(), which scans columns in the table to decide if they might be worth suggesting for faceting, and facet_results(), which executes the facet operation and returns results ready to be displayed in the UI. |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| conftest.py | ||
| fixtures.py | ||
| test_api.py | ||
| test_csv.py | ||
| test_docs.py | ||
| test_facets.py | ||
| test_filters.py | ||
| test_html.py | ||
| test_inspect.py | ||
| test_plugins.py | ||
| test_publish_heroku.py | ||
| test_publish_now.py | ||
| test_utils.py | ||
| utils.py | ||