From 3d7d90fae8550b061c75de27bad5b9ed86bd3d92 Mon Sep 17 00:00:00 2001 From: Bryan Newbold Date: Tue, 15 Feb 2022 14:30:44 -0800 Subject: container browse: refactor count data structure to fix sorting --- .../templates/container_view_browse.html | 37 ++++++++++++---------- 1 file changed, 20 insertions(+), 17 deletions(-) (limited to 'python/fatcat_web/templates') diff --git a/python/fatcat_web/templates/container_view_browse.html b/python/fatcat_web/templates/container_view_browse.html index a2ad251b..6ea06df8 100644 --- a/python/fatcat_web/templates/container_view_browse.html +++ b/python/fatcat_web/templates/container_view_browse.html @@ -17,36 +17,36 @@ {# NOTE: this section is pretty nested, with complex behavior; it could be hard to edit and understand #} {# TODO: these "sorts" are lexical, not numeric, which causes problems #} - {% for year in data.keys()|sort|reverse %} + {% for year in data %} {% set year_loop = loop %} - {% for volume in data[year].keys()|sort|reverse %} + {% for volume in year.volumes %} {% set volume_loop = loop %} - {% for issue in data[year][volume].keys()|sort|reverse %} + {% for issue in volume.issues %} {% set issue_loop = loop %} {% if volume_loop.first and issue_loop.first %} - {% set year_rowspan = data[year].values()|map('length')|sum %} + {% set year_rowspan = year.volumes|map(attribute='issues')|map('length')|sum %} - {{ year }} + {{ year.year }} {% endif %} {% if issue_loop.first %} - - {% if volume != '000_unknown' %} - Vol. {{ volume }} + + {% if volume.volume %} + Vol. {{ volume.volume }} {% endif %} {% endif %} - {% if issue != '000_unknown' %} - Issue {{ issue }} + {% if issue.issue %} + Issue {{ issue.issue }} {% endif %} - {{ "{:,}".format(data[year][volume][issue]) }} releases + {{ "{:,}".format(issue.count) }} releases {% endfor %} @@ -58,10 +58,13 @@ {% macro browse_releases(found) %}

- Browsing: - {% if request.args.volume %}Volume {{ request.args.volume }}  {% endif %} - {% if request.args.issue %}Issue {{ request.args.issue }}  {% endif %} - {% if request.args.year %}Year {{ request.args.year }}  {% endif %} + {% if request.args.volume %} + Volume {{ request.args.volume }} + {%- if request.args.issue %}, Issue {{ request.args.issue }}{% endif -%} + {%- if request.args.year %} ({{ request.args.year }}){% endif %} + {% else %} + Year {{ request.args.year }} + {% endif %}


{% for release_doc in found.results %} @@ -88,13 +91,13 @@ {% if releases_found %} {{ browse_releases(releases_found) }} -{% elif entity._browse_volume_year %} +{% elif entity._browse_year_volume_issue %}

Publications by Year, Volume, and Issue

This table includes content which does not have article-level metadata about volume or issue, but at least the year of publication must be known. "Stub" releases (eg, spam or duplicate DOIs) are not listed. - {{ browse_year_volume_issue_table(entity, entity._browse_volume_year) }} + {{ browse_year_volume_issue_table(entity, entity._browse_year_volume_issue) }}

{% endif %} -- cgit v1.2.3