diff --git a/datasette/templates/table.html b/datasette/templates/table.html index 13d8f810..65b336b6 100644 --- a/datasette/templates/table.html +++ b/datasette/templates/table.html @@ -81,8 +81,8 @@ {% endif %} - {% for facet in facet_results %} - + {% for facet in sorted_facet_results %} + {% endfor %} diff --git a/datasette/views/table.py b/datasette/views/table.py index 394f82c0..cb5a44f7 100644 --- a/datasette/views/table.py +++ b/datasette/views/table.py @@ -716,7 +716,7 @@ class TableView(RowTableShared): "display_rows": display_rows, "sorted_facet_results": sorted( facet_results.values(), - key=lambda f: len(f["results"]), + key=lambda f: (len(f["results"]), f["name"]), reverse=True ), "is_sortable": any(c["sortable"] for c in display_columns), diff --git a/tests/test_html.py b/tests/test_html.py index 6c93d453..3e94275f 100644 --- a/tests/test_html.py +++ b/tests/test_html.py @@ -210,8 +210,8 @@ def test_facets_persist_through_filter_form(app_client): inputs = Soup(response.body, 'html.parser').find('form').findAll('input') hiddens = [i for i in inputs if i['type'] == 'hidden'] assert [ - ('_facet', 'planet_int'), ('_facet', 'city_id'), + ('_facet', 'planet_int'), ] == [ (hidden['name'], hidden['value']) for hidden in hiddens ]