Correctly persist selected facets in hidden fields

Closes #963
This commit is contained in:
Simon Willison 2020-09-12 14:54:01 -07:00
commit ea340cf320
3 changed files with 13 additions and 6 deletions

View file

@ -88,9 +88,6 @@
</div>
<label class="sort_by_desc small-screen-only"><input type="checkbox" name="_sort_by_desc"{% if sort_desc %} checked{% endif %}> descending</label>
{% endif %}
{% for facet in sorted_facet_results %}
<input type="hidden" name="_facet" value="{{ facet.name }}">
{% endfor %}
{% for key, value in form_hidden_args %}
<input type="hidden" name="{{ key }}" value="{{ value }}">
{% endfor %}

View file

@ -778,6 +778,12 @@ class TableView(RowTableShared):
)
self.ds.update_with_inherited_metadata(metadata)
form_hidden_args = []
# Add currently selected facets
for arg in special_args:
if arg == "_facet" or arg.startswith("_facet_"):
form_hidden_args.extend(
(arg, item) for item in request.args.getlist(arg)
)
for arg in ("_fts_table", "_fts_pk"):
if arg in special_args:
form_hidden_args.append((arg, special_args[arg]))